我试图在页面上有一个模态表单,为此我使用的是jquery对话框。 但是,当表单出现时,对话框上的按钮不会出现。
以下是创建对话框的javascript:
function showform() {
$("#formplan").dialog({
open: function(event, ui) {
$(".ui-dialog-titlebar-close").hide();
},
modal: true,
autoOpen: false,
dialogClass: "dialogform",
buttons: [{
text: "Planifier",
click: function() {
$("#formplan").dialog("close");
$("#formplan").submit();
}
}, {
text: "Cancel",
click: function() {
$("#formplan").dialog("close");
$("#formplan").dialog('destroy').remove();
}
}]
});
$("#formplan").dialog('open');
};
以下是包含对脚本调用的表单:
<div id="formplan" class="dijitDialog" role="dialog" style="display:none">
<form style="" action="javascript:refreshTab('tabadministrationplanificateurtaches', '/profusion/scheduler/etat.html?onglet=tabadministrationplanificateurtaches&mode=integre&planed=ImportPays ' + getfromform())">
<br>planification de la tache ImportPays :
<br>
<input type="radio" name="periodicity" value="1" checked> tout les jours
<br>
<input type="radio" name="periodicity" value="2"> par jours de la semaine :
<input type="checkbox" name="Daysofweek" value="1"> dimanche
<input type="checkbox" name="Daysofweek" value="2"> lundi
<input type="checkbox" name="Daysofweek" value="3"> mardi
<input type="checkbox" name="Daysofweek" value="4"> mercredi
<input type="checkbox" name="Daysofweek" value="5"> jeudi
<input type="checkbox" name="Daysofweek" value="6"> vendredi
<input type="checkbox" name="Daysofweek" value="7"> samedi
<br>
<input type="radio" name="periodicity" value="3"> par mois :
<input type="text" name="Daysofmonth" placeholder="ex : 1:3:21">
<br>effectuer à :
<input type="text" name="hours" placeholder="ex : HH:mm:ss/HH:mm:ss">
<br> </form>
</div>
<script>
showform();
</script>
此代码使用JAVA推送到HTML,因此只有在需要时才会调用showform()
的脚本。
此外,我之前注意到,我仍然可以点击后面的页面,即使使用modal:true
,如果我点击生成页面的按钮(在此过程中进行刷新),我的表单将出现两次。
我的猜测是它来自showform()
的直接调用(没有链接到onclick()
事件)。
谢谢,
答案 0 :(得分:1)
答案 1 :(得分:0)
我将id="formplan"
从div移到了表单中,它似乎可以解决问题。我也确实将showform()
的调用放在了document.ready()中,就像@zakaria那样。