html表单使用jquery对话框提前提交验证子例程

时间:2014-08-01 06:03:44

标签: jquery html form-submit dialog

我正在使用jquery对话框在表单完成期间显示消息。除最后一个对话框外的所有对话框似乎都有效最后一个显示,但“X”没有出现,框自动解散,表格提前提交。

不完整对话框的示例如下: http://www.bbhq.com/dbox.htm

(表格必须在“X”图像有时间显示之前提交。)

我正在使用jquery-1.10.1。

我认为这可能是一个jquery问题。当我用简单的“警报”替换jquery对话框时,它可以工作。

这是JavaScript:

  function valdata() {
    alert ("watch closely; dialog box will pop up; dismiss automatically; and form will submit")
      $("<div title='Basic dialog onclick'>made simple b4 submit</div>").dialog();
  return

这是html:

  <FORM NAME="mainform" METHOD="POST" ACTION="http://www.bbhq.com/dummy.htm"
      onSubmit="return valdata()"  >

      <a href="#" onclick="alertok('see, it works here')">test dialog box here</a><p>

  1. this is question 1.
    <input type=text name=ques1><p>
  2. this is question 1.
    <input type=text name=ques2><p>
  3. this is question 1.
      <input type=text name=ques3><p>


  <INPUT TYPE="submit" VALUE="  Click here to submit the form   ">

  </FORM>

在onSubmit代码中,我尝试过它,有没有“返回”。

我尝试删除onsubmit,并用一个调用该函数的按钮替换输入提交,然后提交表单。结果是一样的。

我的示例在这里:http://www.bbhq.com/tmp-form.htm (对不起;我不能让jsfiddle为我工作。)

我是jquery的新手,但我设计了几十种形式。我错过了一些明显的东西吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

而不是在表单上添加onsubmit属性,将其添加到您的页面:

$(document).ready(function() {

    $('form[name="mainform"]').submit(function(e) {
       e.preventDefault();
       e.stopImmediatePropagation();

       valdata();
       return false;
    });
});

它的作用:

1)等待dom加载:

$(document).ready(function() {

2)将提交处理程序绑定到表单:

$('form[name="mainform"]').submit(function(e) {

3)停止发生默认浏览器行为(即:遵循表单上的属性操作

e.preventDefault();

4)阻止事件冒泡调用堆栈

e.stopImmediatePropagation();

5)调用你的函数

valdata();

6)返回false以防止表单提交(返回true以允许表单提交)

return false;