【问题标题】:Inner form submit using jquery?使用jquery提交内部表单?
【发布时间】:2013-04-02 18:29:26
【问题描述】:

我正在使用 asp.net Master -content 页面。 MasterPage 已经具有根级别 <form> 标记。 我的内容页面联系人有另一个 <form> 标记区域用于验证目的。

当我提交表单根级别 <form> 时,执行而不是验证 <form> 标记。

母版页

   <form runat="server">

联系人.aspx

 <form id="validForm">
    <div class="control-group">
      <label class="control-label" for="inputName">NAME<sup>*</sup></label>
          <div class="controls">
              <input type="text" class="span4" id="inputName" placeholder="Name"/>
          <span class="help-inline">Please fill your name</span>
          </div>
    </div>                                         
    <div class="control-group">
       <label class="control-label" for="inputEmail">EMAIL<sup>*</sup></label>
          <div class="controls">
            <input type="text" class="span4" id="inputEmail" placeholder="Email"/>
            <span class="help-inline">Please correct your email</span>
          </div>
     </div>                                        
     <div class="control-group">
        <label for="textarea" class="control-label">COMMENT<sup>*</sup></label>
        <div class="controls">
            <textarea rows="4" class="span8" id="textarea" runat="server" ></textarea>
            <span class="help-inline">Please write a comment</span>
        </div>
     </div>
     <div class="control-group form-button-offset">
           <input type="submit" class="btn" value="Send Message" />
           <%--   <asp:Button class="btn" Text="Send Message" runat="server" id="btnSubmit" OnClick="btnSubmit_Click" />--%>
    </div>
</form>                                
                                </div>

Mail_Validation.Js

var $mjq = jQuery.noConflict();
$mjq(function(){
    $mjq(document).ready(function(){
         $mjq(".help-inline").each(function() {
            $mjq(this).css('display', 'none');
         });
    });
    $mjq("#inputEmail").bind('blur', is_valid_email);
    $mjq("#inputName").bind('blur', is_valid_name);
    $mjq("#textarea").bind('blur', is_valid_comment);
    $mjq('#validForm').bind('submit', function() {
        return is_valid_form();
    });
});

我在按钮单击时专门调用了is_valid_form();,仍然是父窗体覆盖它。

  <script type="text/javascript">
         $('.btn').click(function () {
             //$(this).closest('validForm')[0].submit();
             return is_valid_form();
         });

现在如何在这里验证我的表单。

【问题讨论】:

  • 我不是 ASP 专家,但我可以肯定地说,您不能将 &lt;form&gt;&lt;/form&gt; 嵌套在 &lt;form&gt;&lt;/form&gt; 内。我知道有针对这种情况的解决方法,只是不知道该指向哪里。
  • 您的代码表明您没有使用 jQuery Validate 插件,所以我删除了 jquery-validate 标签。

标签: jquery asp.net validation


【解决方案1】:

你可以在一个页面上有多个表单,但你不应该按照this嵌套它们。

【讨论】:

  • 更具体地说,浏览器将简单地删除其中一个表单
猜你喜欢
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 2017-12-23
  • 1970-01-01
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多