나는 정규식을 사용하여 수많은 입력 필드를 확인할 기능에 대해 작업하고 있습니다. 그러나 각 "ifs"에 대해 false를 반환하는 대신 모든 조건을 처리하고 다른 조건과 입력 상자에서 innerHTML을 한꺼번에 출력하고 싶습니다. 각 상자 아래에 텍스트가 나타납니다. 내가하려는 일에 대한 힌트를주기 위해서.자바 스크립트 여러 필드에 대한 여러 경고
오류를 수정하기 위해 하나의 상자에 무언가를 입력해야하는 대신 양식의 다음 상자에 새로운 오류가 표시됩니다. 모든 오류가 동일한 버튼 클릭으로 발생하는 것을보고 싶습니다. (버튼에서 기능 트리거).
아래 코드는 오류를 동시에 표시하지 않습니다. 루프없이 이것을 수행 할 수있는 방법이 있습니까? 그것이 있어야한다고 느낀다. 그러나 나는 계속 전진하는 방법을 모르고있다.
function sum()
{
prem1 = document.formular.Uppgift1.value;
prem2 = document.formular.Uppgift2.value;
prem3 = document.formular.Uppgift3.value;
prem4 = document.formular.Uppgift4.value;
totpr = document.formular.priset.value;
varning1 = "name";
varning2 = "address";
varning3 = "phone";
varning4 = "phone number has to contain numbers";
varning5 = "e-mail";
varning6 = " - This one is not relevant to the input fields and should only show when thus are correct - ";
var re = /^[\w ]+$/;
if(!re.test(prem1)) {
document.getElementById('texterror1').innerHTML = (varning1);
form.inputfield.focus();
return false;
}
if(!re.test(prem2)) {
document.getElementById('texterror2').innerHTML = (varning2);
form.inputfield.focus();
return false;
}
if(!re.test(prem3)) {
document.getElementById('texterror3').innerHTML = (varning3);
form.inputfield.focus();
return false;
}
var re = /^(?=.*[0-9])\w{1,}$/;
if(!re.test(prem3)) {
document.getElementById('texterror4').innerHTML = (varning4);
form.inputfield.focus();
return false;
}
if(!re.test(totpr)) {
alert (varning6);
form.inputfield.focus();
return false;
}
var re = /^[\w ]+$/;
if(!re.test(prem4)) {
document.getElementById('texterror5').innerHTML = (varning5);
form.inputfield.focus();
return false;
}
else (alert ("Tack för din beställning " +prem1 + "! Här följer de uppgifter vi mottagit om dig. Adress: " +prem2 +" Tel.nr: " +prem3 +" E-post: " +prem4 +" Pris att betala: " +Discount +" kr"));{
return true;
}
}
코드가 관련 부분 대신 문 경우 각 false
를 반환
나는이 같은 것을 알았지 만 그 일을 적절하게 구조화하는 방법을 잘 모르겠습니다. 검사 할 여러 정규 표현식과 여러 필드가 있으므로 근본적으로 내 문제입니다. – Holmberg