我想做一個輸入字段,我想驗證所有必填字段填寫。我有它的工作,但在試圖使無線電輸入「需要」我搞砸了。根據我收到的一些建議,我進行了測試和捕獲,並重新啓用提交按鈕,但我的警告不再起作用。如果任何人都能理解爲什麼我會真的很感激它。讓我知道如何爲單選按鈕添加警告。我的代碼是在這裏http://jsfiddle.net/J2yWQ/55/如果我的提交按鈕有效,我的警告不會。如果我修復它我的警告工作,但我的提交按鈕不會
JavaScript的
function emailWarning(){
var check = document.getElementById("check");
check.className = 'show';
}
function validateEmail(xem) {
var re = /\[email protected]\S+\.\S+/;
return re.test(xem);
}
function postData() {
var tt = validateEmail(email);
if (tt == true){
xmlhttp.open('POST', 'payment.php', true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(cn1&ag2&hm3&bg4&fn5&ln6&email&ad8&ad9&ct10&st11&zp12&co13);
} else {
emailWarning();
}
}
function insert() {
try {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
cn1 = 'child_name'+document.getElementById('child_name').value;
ag2 = 'age'+document.getElementById('age').value;
hm3 = 'hometown'+document.getElementById('hometown').value;
bg4 = 'boy_girl'+valueRadioButtonList('boy_girl').value;
fn5 = 'first_name'+document.getElementById('first_name').value;
ln6 = 'last_name'+document.getElementById('last_name').value;
email = 'email'+document.getElementById('email').value;
ad8 = 'address1'+document.getElementById('address1').value;
ad9 = 'address2'+document.getElementById('address2').value;
ct10 = 'city'+document.getElementById('city').value;
st11 = 'state'+document.getElementById('state').value;
zp12 = 'zip'+document.getElementById('zip').value;
co13 = 'country'+document.getElementById('country').value;
var flagInvalid = false;
var tempArray = document.getElementsByClassName("required");
for (var i = 0; i < tempArray.length; i++) {
if (tempArray[i].value == ""){
flagInvalid = true;
break;
}
}
if (flagInvalid == false) {
postData();
} else {
var log = document.getElementById("log");
log.className = 'show';
var log1 = document.getElementById("log1");
log1.className = 'show';
var log2 = document.getElementById("log2");
log2.className = 'show';
var log3 = document.getElementById("log3");
log3.className = 'show';
var log4 = document.getElementById("log4");
log4.className = 'show';
var log5 = document.getElementById("log5");
log5.className = 'show';
var log6 = document.getElementById("log6");
log6.className = 'show';
var log7 = document.getElementById("log7");
log7.className = 'show';
var log8 = document.getElementById("log8");
log8.className = 'show';
var log9 = document.getElementById("log9");
log9.className = 'show';
var log0 = document.getElementById("log0");
log0.className = 'show';
var logA = document.getElementById("logA");
logA.className = 'show';
} catch(e) {
alert('An error occured in inert: ' + e);
}
}
}
function validateRadioButtonList(radioButtonListName)
{
var listItemArray = document.getElementsByName(radioButtonListName);
var isItemChecked = false;
for (var i=0; i<listItemArray.length; i++)
{
var listItem = listItemArray[i];
if (listItem.checked)
{
isItemChecked = true;
}
}
return isItemChecked;
}
function valueRadioButtonList(radioButtonListName)
{
var listItemArray = document.getElementsByName(boy_girl);
var isItemChecked = false;
for (var i=0; i<listItemArray.length; i++)
{
var listItem = listItemArray[i];
if (listItem.checked)
{
return listItem.value;
}
}
return null;
}
你的代碼是非常重複的,你真的需要了解如何製作幫助函數,所以你不會一遍又一遍地複製和粘貼相同的代碼。 – epascarello
我是一個新手,我相信有一個更有效的方式來做事情。但除了重複性,現在它不能正常運行。你知道爲什麼嗎? – CTViking