私はフォームをデータベースに送信する前に各フォームフィールド内の値をチェックするためにjavascriptの検証を使用していますが、私がフォームを送信すると、フォームは依然として値もなく送信されます。私はそれらをクリアするための各フィールドをクリックして、ここでボタンをフォームは検証されましたが、依然として値なしで送信していますか?
をsubmittinしようとしたことをテストする はフォーム
<form method="post" action="send.php" id="theform" name="theform">
<input type="text" name="firstname" id="firstname" value="First Name" onFocus="this.value=''" class="yourinfo" ><br/>
<input type="text" name="lastname" id="lastname" value="Last Name" onFocus="this.value=''" class="yourinfo"><br/>
<input type="text" name="email" id="email" value="Email Address" onFocus="this.value=''" class="yourinfo"><br/>
<div id="datepicker"></div>
<input type="hidden" name="date" id="date">
<input type="image" src="images/sbmit-button.png" name="submit" height="49" width="190" id="submit" value="submit" style="margin-top:10px; margin-left:-2px;" >
</form>
相続人のjavascript
$(document).ready(function(){
// Place ID's of all required fields here.
required = ["firstname", "lastname", "email"];
// If using an ID other than #email or #error then replace it here
email = $("#email");
errornotice = $("#error");
// The text to show up within a field when it is incorrect
emptyerror = "Please fill out this field.";
emailerror = "Please enter a valid e-mail.";
$("#theform").submit(function(){
//Validate required fields
for (i=0;i<required.length;i++) {
var input = $('#'+required[i]);
if ((input.val() == "") || (input.val() == emptyerror)) {
input.addClass("needsfilled");
input.val(emptyerror);
errornotice.fadeIn(750);
} else {
input.removeClass("needsfilled");
}
}
// Validate the e-mail.
if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email.val())) {
email.addClass("needsfilled");
email.val(emailerror);
}
//if any inputs on the page have the class 'needsfilled' the form will not submit
if ($(":input").hasClass("needsfilled")) {
return false;
} else {
errornotice.hide();
return true;
}
});
// Clears any fields in the form when the user clicks on them
$(":input").focus(function(){
if ($(this).hasClass("needsfilled")) {
$(this).val("");
$(this).removeClass("needsfilled");
}
});
});
です
イムもjqueryのファイルへのリンク:
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
IVEが独自にそれをテストし、動作するようですが、何かが、このページでは、それに乗ってと検証を過ぎてスキップ以上であるように思わ
================================ ======================================
私はまだ動作していません...私もjquery UIのdatePickerと何か関係がありますフォーム?私は確かFIRSTNAME、姓作りたかったとメールが
を記入したとしてフォーム検証で私は、これは私のフォームページに含まれていることが含まれていないアイブ:<script>
$(function() {
$("#datepicker").datepicker({
altField: '#date'
});
$('#submit').click(function() {
$('#output').html($('form').serialize());
});
});
</script>
は、これが効果を持つことになりますフィールドに値がなくても送信しますか?
何かがdefinatley検証をオーバーライドし、それを私がJavaScriptを無効にした場合どのような
ホイールを改造しないためにjQueryプラグインを使うことができます:) – veritas
@Veritas - 実際には、そのHTMLでは、平易な '$("#theform ")validate();' ** [this plugin](http://docs.jquery.com/Plugins/validation)を使った検証**電子メールが入力され、2つの他のフィールドは変更されないままフォームを送信します。私の答えを参照してください –