Php 表单中的jquery对话框只工作一次
我知道这个问题已经讨论过很多次了。 我尝试了所有给出的答案,但没有成功 在一个id=“imprim”和name=“imprim”的长表单中,我使用一个jQueryUI对话框,让用户在通过按钮打开的要打印的项目之间进行选择 第一次单击按钮时效果很好,但第二次,覆盖显示,页面冻结 这是我的jquery代码,在Php 表单中的jquery对话框只工作一次,php,jquery,html,Php,Jquery,Html,我知道这个问题已经讨论过很多次了。 我尝试了所有给出的答案,但没有成功 在一个id=“imprim”和name=“imprim”的长表单中,我使用一个jQueryUI对话框,让用户在通过按钮打开的要打印的项目之间进行选择 第一次单击按钮时效果很好,但第二次,覆盖显示,页面冻结 这是我的jquery代码,在jquery(文档)中。就绪(函数($) //init dialog var $print = $('#items_toprint').dialog({ modal: t
jquery(文档)中。就绪(函数($)
//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生成)代码:
打印“”;
打印“”;
$sql1=“选择p.id作为criterid、p.code、p.libelle”;
$sql1.=“FROM”.MAIN_DB_前缀。“c_参数作为p”;
$sql1.=“其中p.active=1”;
$sql1.=”和中的p.id(从.MAIN_DB_前缀中选择fk_参数。'patient_参数,其中fk_patient='。$patient->id.)”;
$sql1.=“按p.code订购”;
$result1=$db->query($sql1);
$num=$db->num\u行($resql);
如果($num>=1){
打印“”;
$categ_encours=“”;
$der_categ=“”;
而($row=mysqli\u fetch\u assoc($result1))
{
$categu_encours=$row[代码];
如果($categ_encours!=$der_categ)
{
打印“”;
打印“”;
打印$categ_encours;
打印“”;
打印“”;
打印“”;
打印“”;
打印“”;
$der_categ=$categ_encours;
}
打印“”;
打印“”;
打印$row['libelle'];
打印“”;
打印“”;
打印“”;
打印“”;
打印“”;
}
打印“”;
打印“”;
打印“参数表”;
打印“”;
打印“”;
打印“”;
打印“”;
打印“”;
打印“”;
}
否则{
打印“”;
打印“你是病人的罪魁祸首!”;
打印“
”;
}
打印“”;
制作一个名为PageEvents的js函数在document.ready()中调用此函数
抱歉,它不起作用。尽管有“e.preventDefault()”,当点击按钮时,表单被提交…表单中存在您的按钮吗?@Gerard13007我编辑了我的答案,请现在检查,您添加了一些额外的偏执…好的,请现在检查。并确认我@Gerard13007我担心这会导致其他问题…我的javascript页面包含大量脚本,并且不仅仅用于此表单。
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>';
$(document).ready(function(){
PageEvents();
});
function PageEvents(){
$('body').on("click","#bttn_print", function(e) {
e.preventDefault();
$print.dialog('open');
});
}