JS: Проверяване на няколко празни полета с 1 функция

MontefuckeR

Registered
Мисля, че има начин да проверя с жаваскрипт няколко полета дали са празни обаче в момента не се сещам как да стане без да правя проверка на всяко едно поле по отделно:

JS:
function check(id,text){
if(document.getElementById(id).value == ""){
alert(text);
return false;
}
}
html:
<form action="" method="post" onsubmit="return check('pole1','asd')" >
<input type="text" id="pole1" />
<input type="text" id="pole2" />
<input type="text" id="pole3" />
<input type="submit" >
<form>
ето така значи сега искам да проверя дали са празни и поле2 и поле3 без да правя още ифове в ЖС-та!
 
Грешката е моя:
Ето за това става дума:
http://web-tourist.net/forum/viewtopic.php?t=50123&highlight=div
Колкото да твоя въпрос, мен ако питаш няма как да стане наведнъж да изпълни една и съща функция за няколко полета!
Това се прави, като се обходи масива document.forms май беше, с;ед това в цикъл се обходи именно този масив, и се направи проверка за всяко едно поле!
 
вярно, че е като моито ама моито си е мое не съм го взимал от никъде то това са 5 елементарни неща...
я все пак даи пример какво мислиш може да ме устройва
 
Виж сега тука един "жалък" опит, да напиша нещо:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">

function checkempty(theform){
var returnval=true
for (i=0; i<theform.elements.length; i++){
if (theform.elements[i].type=="text" || theform.elements[i].type=="textarea"){
if (theform.elements[i].value==""){ ако е празно полето
alert("Полето "+theform.elements[i].name+" е непопълнено") //извежда грешките
returnval=false
break //
}
}
}
return returnval
}

</script>
</head>

<body>
<form onSubmit="return checkempty(this)">
Name: <input type="text" name="yourname" /><br />
Email: <input type="text" name="email" /><br />
Comments: <textarea name="comments"></textarea><br />
<input type="submit" value="submit" />
</form>
</body>
</html>
Създавам функция, после проверявам за всяко поле, чрез броя на полетата във формата theform.elements.length, завъртам един цикъл и ВОАЛА
 
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">

function checkempty(theform){
var returnval=true //by default, allow form submission
for (i=0; i<theform.elements.length; i++){
if (theform.elements[i].type=="text" || theform.elements[i].type=="textarea"){
if (theform.elements[i].value==""){ //if empty field
alert("Please make sure all fields are entered") //alert error message
returnval=false //disallow form submission
break //end loop. No need to continue.
}
}
}
return returnval
}

</script>
</head>
<body>
<form onSubmit="return checkempty(this)">
Name: <input type="text" name="yourname" /><br />
Email: <input type="text" name="email" /><br />
Comments: <textarea name="comments"></textarea><br />
<input type="submit" value="submit" />
</form>

</body>
</html>
Сега трябва да работи
 
@emagi точно такава функция ми трябва, но имам едно въпросче има ли начин функцията ти да не работи за всички input полета ами да има 2-3 полета за които да не проверява ? И ако може как ? Благодаря
 

Back
Горе