jquery表单提交按钮并使用对话框按钮

时间:2013-07-15 01:33:14

标签: javascript jquery jquery-ui jquery-ui-dialog

我为此感到非常沮丧,我疯了! 如果您使用表单上的提交按钮,我有一个可用的表单。

我正在尝试将其放入模态jqueryui对话框

因此,如果您删除html中的输入提交按钮,jqueryui按钮将开始工作,但会中断我的操作页面。

通常,操作页面会发送包含内容的电子邮件,然后重定向到感谢页面

它是用html提交按钮做的,但使用jqueryui按钮打印出来:

 Â 

并且不会继续

这是按钮初始化的部分

 $( "#dialog-form" ).dialog({
  autoOpen: false,
  height: 400,
  width: 350,
  modal: true,
  buttons: {
    "Submit Request": function() {

   $("form[name='send']").submit()
   $('#send').submit();
      $(this).submit();
    $('#dialog-form').submit();

这是表格

<div id="dialog-form" title="Request a Quote">
<p class="validateTips">You are also welcome to call us at </p>

<form id="send" name="send" action="process.php" method="POST">
<label for="name">Name</label>
<input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
<label for="email">Email</label>
<input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
<label for="number">Phone Number</label>
<input type="name" name="contact" id="number" value="" class="text ui-widget-content ui-corner-all" />
<label for="message">Message</label>
<textarea cols="49" rows="6"name="message"/></textarea>
 <input name="submit" type="submit" value="submit" >
</form>
 </div>

并将其添加到表单中可以使其正常工作

 <input name="submit" type="submit" value="Submit" />

但仅当您单击html表单提交按钮

这是行动页面:

 <?php
 if(isset($_POST['submit'])) {
 $to = '@gmail.com' ;     //put your email address on which you want to receive the information
 $subject = 'Contact Form';   //set the subject of email.
 $headers  = 'MIME-Version: 1.0' . "\r\n";
 $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 $message = "<table><tr><td>Name: </td><td>".$_POST['name']."</td></tr>
           <tr><td>E-Mail: </td><td>".$_POST['email']."</td></tr>
           <tr><td>Phone Number: </td><td>".$_POST['contact']."</td></tr>
           <tr><td>Message: </td><td>".$_POST['message']."</td>
           </tr></table>" ;
   mail($to, $subject, $message, $headers);
   header('Location: contact_thanks.php');
 }
 ?>

1 个答案:

答案 0 :(得分:0)

我相信这可以通过直接的JavaScript来完成;将表单的ID设置为某些内容(在您的情况下为id="send",然后像这样调用Submit()事件:

document.forms["send"].submit(); 

方括号中的字符串是表单的 id 。另一种方法是使用表单的名称(在您的情况下也是“发送”):

<script type="text/javascript">
    function submitform()
    {
      document.send.submit(); <-- 'send' refers to your form name
    }
</script>

希望这适合你!

改编自找到的代码here

编辑:问题:在原始HTML中,表单是否有结束标记?这可能会阻止整个表格被发现。