[英]Form validation of multiple values
我試圖通過調出一個php文件將所有驗證值合並到一個函數中。 它設法進行驗證,但是以某種方式,如果我驗證一個字段,則也會出現另一個字段消息。
形成:
<input name="SNo" type="text" id="SNo" onkeyup="Validate(this.value)" value=""/> <span id="validateNumbers"></span>
<input name="Names" type="text" id="Names" onkeyup="Validate(this.value)" value=""/><span id="validateNames"></span>
JavaScript函數:
function Validate(value) {
var SNo = document.getElementById('SNo').value;
var Names = document.getElementById('Names').value;
if (str == SNo) {
if (str.length == 0) {
document.getElementById("validateNumbers").innerHTML = "Must not be blank";
return;
}
if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("validateNumbers").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "functions/validate.php?SNo=" + str, true);
xmlhttp.send();
} else if (str == Names) {
//same coding as if statement
} else {}
}
因此,如果我將其保留為空白,則會同時顯示validateNumbers和validateNames錯誤消息以及其他消息。 我沒有使用任何循環,但是為什么會重復..請指教。
未定義str。 最好傳入輸入對象本身。
function Validate(field) {
var SNo = document.getElementById('SNo');
var Names = document.getElementById('Names');
if (field == SNo) {
if (field.value.length == 0) {
document.getElementById("validateNumbers").innerHTML = "Must not be blank";
return;
}
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("validateNumbers").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "functions/validate.php?SNo=" + field.value, true);
xmlhttp.send();
} else if (field == Names) {
//same coding as if statement
} else {}
}
和
<input name="SNo" type="text" id="SNo" onkeyup="Validate(this)" value=""/>
<input name="Names" type="text" id="Names" onkeyup="Validate(this)" value=""/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.