jquery对话框中的按钮不显示

时间:2016-10-13 08:28:20

标签: javascript jquery jquery-ui-dialog

我试图在页面上有一个模态表单,为此我使用的是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()事件)。

谢谢,

2 个答案:

答案 0 :(得分:1)

在javaScript文件中调用showform()函数,如下所示

 $( document ).ready(function() {
      showform();
  });

jsFiddle link

答案 1 :(得分:0)

我将id="formplan"从div移到了表单中,它似乎可以解决问题。我也确实将showform()的调用放在了document.ready()中,就像@zakaria那样。