0
我知道这个问题已经讨论了很多次了。 我试过所有给出的答案,但没有成功。一个窗体里面的jquery对话框只能用一次
里面一个长形的ID =“imprim”和名称=“imprim”,我用一个jQueryUI的对话框,给用户要打印的项目,通过按钮打开之间进行选择。
它工作正常,第一次单击该按钮时,但在第二次,叠加显示出来,并在页面冻结。
这里是我的jQuery代码,里面jQuery(document).ready(function($)
......
//init dialog
var $print = $('#items_toprint').dialog({
modal: true,
autoOpen: false,
resizable: false,
width: 500,
height: 500,
close: function() {
$(this).parent().appendTo("#imprim");
$('#items_toprint').dialog('close');
},
buttons: {
VALIDER: function(p) {
p.preventDefault();
$(this).parent().appendTo("#imprim");
$(this).dialog('close');
}}
});
//button action
$('#bttn_print').on("click", (function(e) {
e.preventDefault();
$print.dialog('open');
}));
});
和HTML(PHP产生的)代码:
print '<form method="post" id="imprim" name="imprim" action="imprime.php">';
print '<div id="items_toprint" align="center" title = "Choix des graphes" style="display:none" >';
$sql1 = " SELECT p.id as criterid, p.code, p.libelle ";
$sql1.= " FROM " . MAIN_DB_PREFIX . "c_param as p ";
$sql1.= " WHERE p.active = 1";
$sql1.= " AND p.id IN (SELECT fk_parametre FROM " . MAIN_DB_PREFIX . 'patient_params WHERE fk_patient = ' . $patient->id . ")";
$sql1.= " order BY p.code";
$result1 = $db->query($sql1);
$num = $db->num_rows($resql);
if ($num >= 1) {
print '<table class="noborder" width="450px" align="center">';
$categ_encours = "";
$der_categ = "";
while ($row = mysqli_fetch_assoc($result1))
{
$categ_encours = $row[code];
if ($categ_encours != $der_categ)
{
print '<tr>';
print '<td width="300px" Style="color:#B40431" align= "center">';
print $categ_encours;
print '</td>';
print '<td>';
print ' ';
print '<td>';
print '</tr>';
$der_categ = $categ_encours;
}
print '<tr >';
print '<td width="300px" class="titre_noir" align= "right">';
print $row['libelle'];
print '</td>';
print '<td align= "left">';
print '<input type="checkbox" name ="graph_toprint[]" value="'.$row['criterid'].'" >';
print '</td>';
print '</tr>';
}
print '<tr>';
print '<td class="titre" align="center">';
print "Tableau paramètres";
print '</td>';
print '<td align="left">';
print '<input type="checkbox" name="tableau_param[]" value="t_param" CHECKED = "checked">';
print '</td>';
print '</tr>';
print '</table>';
}
else {
print '<p align="center" font-color="red" ><b>';
print "Vous ne suivez aucun critère pour ce patient !";
print '</b></p>';
}
print '</div>';
对不起,但它不工作。尽管“e.preventDefault()”,当按钮被点击时,表单被提交.... – Gerard13007
你的按钮存在于表单中? –
@ Gerard13007我编辑我的答案,请立即检查,你把一些额外的paranthesis ... –