asp.net Master -content ページを使用しています。MasterPage にはすでにルート レベルの<form>
タグがあります。コンテンツ ページの連絡先には<form>
、検証用の別のタグ領域があります。
フォームのルート レベルを送信する<form>
と、検証<form>
タグの代わりに実行されます。
マスターページ
<form runat="server">
Contactus.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();
});
ここで私のフォームを検証する方法。