0
當我試圖驗證窗體使用JavaScript它帶來了警報,因爲它應該但形式獲取submited因爲沒有發生eventhoght false返回,警報工作只我第一次按提交按鈕。可有一個人告訴我什麼我做錯了什麼:Javascript窗體驗證:窗體是虛假的返回submited:
的Javascript:
function checkForm() {
var name, email, text;
name = document.contact.userName.value;
email = document.contact.email.value;
text = document.contact.textarea.value;
//document.write(name + " " + email + " " + text);
if (name == "" || email =="" || text=="") {
alert("Please fill all fields before submitting!");
return false;
}else if (!looksLikeMail(email)) {
alert("Please enter you real email!");
return false;
}else {
alert("Your feedback was sent, Thank you!");
return true;
}
}
function looksLikeMail(str) {
var lastAtPos = str.lastIndexOf('@');
var lastDotPos = str.lastIndexOf('.');
return ((lastAtPos < lastDotPos) && lastAtPos > 0 && str.indexOf('@@') == -1 && lastDotPos > 2 && (str.length - lastDotPos) > 2);
> }
HTML:
<form name="contact" action="login" method="POST" onsubmit="checkForm()">
<input type="hidden" name="page" value="feedback">
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" data-mini="true">
<label for="textinput1">
Name:
</label>
<input id="name" placeholder="Enter your full name" value="" type="text" name="userName"/>
</fieldset>
</div>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup" data-mini="true">
<label for="textinput2">
Email
</label>
<input id="email" placeholder="Enter your email" value="" type="email" name="email" />
</fieldset>
</div>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<label for="textarea1">
Feedback
</label>
<textarea id="textarea" placeholder="Enter your text here" name="textarea"></textarea>
</fieldset>
</div>
<input type="submit" data-inline="true" data-theme="b" data-icon="check" data-iconpos="right" value="Submit" />
</form>
感謝您的快速回答,但這個建議沒有幫助我。 – 2012-08-01 07:46:52
然後有些東西你沒有告訴我們。這工作。 – 2012-08-01 07:47:37
我展示了我的所有代碼還能告訴你什麼? – 2012-08-01 07:52:38