2009-08-19 45 views
0

我的模态内有一个提交按钮,当它按下时什么都没有发生!如何在推送我的提交按钮时提交表单?我不想使用$('form')。submit();因为那时php没有检测到我的按钮被点击了。JQuery SimpleModal

<script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
     $('#btnAdd').click(function (e) { 
      //clicking the button shows the modal popup up 
      e.preventDefault(); 
      $('#AddCareerItem').modal(); 
     }); 
     $('#btnCancelCareerContent').click(function (e) { 
      //close the modal with the cancel button 
      $.modal.close(); 
     }); 
    }); 
</script> 
+1

请粘贴您的html和js脚本,基本上你说的话可以很容易地完成,也许问题来自你的码。 – xandy 2009-08-19 05:01:51

+0

<脚本类型= “文本/ JavaScript的” 语言= “JavaScript的”> \t \t \t \t \t $(文件)。就绪(函数(){ \t \t \t $( '#btnAdd')。点击(函数(五){ \t \t \t \t //点击按钮显示模式弹出向上 \t \t \t \t e.preventDefault(); \t \t \t \t $( '#AddCareerItem')模态(); \t \t \t}); \t \t \t $( '#btnCancelCareerContent')。点击(函数(E){ \t \t \t \t //关闭模式与取消按钮 \t \t \t \t $ .modal。关(); \t \t \t}); \t \t}); \t \t – Matt 2009-08-19 14:15:33

+1

您可以粘贴的问题你的代码(编辑问题)为更好的格式和更好的给别人看你的问题:) 另外,你能也粘贴HTML代码。 – xandy 2009-08-19 14:42:53

回答

1

马特,

从你提供的代码,它不会出现你绑定到submit事件。 #AddCareerItem中的HTML是什么样的?您是否使用提交输入并具有正确的表单定义?

如果你想想要绑定一个事件,你需要使用onShow回调。例如:

$('#AddCareerItem').modal({onShow: function (dialog) { 
    $("form", dialog.data).submit(function() { 
     // your code here 
    }); 
}); 

希望有帮助。

我有-Eric

http://www.ericmmartin.com

0

继承人的代码。没有什么花哨。隐藏的表单位于表单标签内,我正在使用提交按钮。

<form action="somepage.php" enctype="multipart/form-data" method="post"> 
     <div class="rw"> 
      <div class="lb">Title</div> 
      <div class="dt"><input type="text" name="txtTitle" value="" /></div> 
      <div class="cr"></div> 
     </div> 
     <div class="rw"> 
      <div class="lb">Description</div> 
      <div class="dt"><textarea name="txtDescription" ></textarea></div> 
      <div class="cr"></div> 
     </div> 
     <div class="rw"> 
      <div class="lb">&nbsp;</div> 
      <div class="dt"><button id="btnAdd" type="button" >Add Career Item</button></div> 
      <div class="cr"></div> 
     </div> 
     <div class="rw"> 
      <div class="lb">&nbsp;</div> 
      <div class="dt"><input type="submit" name="btnSave" value="Save" /></div> 
      <div class="cr"></div> 
     </div> 
     <div id="AddCareerItem" style="display:none;"> 
       <div class="rw"> 
        <div class="lb">Type</div> 
        <div class="dt"><select name="drpdwnType" ><option value="1">Duties</option><option value="2">Required</option></select></div> 
        <div class="cr"></div> 
       </div> 
       <div class="rw"> 
        <div class="lb">Content</div> 
        <div class="dt"> 
         <input name="txtCareerDetailContent" type="text" value="" /> 
        </div> 
        <div class="cr"></div> 
       </div> 
       <div class="rw"> 
        <div class="lb">&nbsp;</div> 
        <div class="dt"><input type="submit" id="btnAddCareerDetail" name="btnAddCareerDetail" value="Add" /> <input type="button" id="btnCancelCareerContent" value="Cancel" /></div> 
        <div class="cr"></div> 
       </div> 
     </div> 
    </form> 
+0

更新:我从隐藏的窗体中删除了样式标签,以便我可以看到它。当我试图提交时,它工作正常,但只要您点击“添加职业项目”,然后再试一次就不会提交。 – Matt 2009-08-20 01:10:05

+0

这很奇怪。这将真正有助于看到整个事情的行动。你有链接,还是可以将样本放在一起并通过电子邮件发送给我? – 2009-08-21 03:54:51

+0

原始问题的编辑会更好地保持东西在一起。如果你收到upvotes的答案,你的将被推下列表。 – 2010-01-19 13:15:42

1

在jQuery UI对话框确实,简单的模态取按钮出<形式的>元素比通常在像ASP.NET和JSF框架缠绕的一切,并把它们预先考虑到</body>结束标记。所以你必须调用模态选项persist:true并点击“提交按钮”关闭模式并触发表单提交。你必须关闭模式,以便元素返回到其在DOM中的正常位置... :)