通常情況下,檢查是否是textarea或輸入值的長度。
if(field.value.length) {
}
貝婁代碼,也許你需要它。
<form id="myform" method='post' onsubmit="return validate(this)">
<select name="select1">
<option value="">--</option>
<option value="val11"> Option </option>
<option value="val12"> Option </option>
</select>
<select name="select2">
<option value="">--</option>
<option value="val21"> Option </option>
<option value="val22"> Option </option>
</select>
<select name="select3" >
<option value="">--</option>
<option value="val31"> Option </option>
<option value="val32"> Option </option>
</select>
<textarea name='description'> </textarea>
<input type="submit"/>
</form>
和腳本這樣的:
var validate = function(form) {
// argument is a form from which function was called
// Collect elements to an array which will be validated.
var inputs = [].concat.apply(
[].concat.apply([], form.getElementsByTagName("select")),
form.getElementsByTagName("textarea")
);
for(var i = 0, l = inputs.length, input; input = inputs[i], i < l; i++) {
if(!input.value ) {
//In case when some select don't have a value, or empty string is provided alert(input.name);
// Message will be showed
alert("Field " + input.name + " cannot be empty!");
return false; // return false, form will not submitted
}
};
return true; // if all of selects have a properly value;
};
演示上http://jsfiddle.net/4hBuF/
你有沒有嘗試過的jQuery提供了一個驗證模塊? – 2012-01-09 14:45:31