Hallo Leute.
Ich habe mir folgenden Quelltext kopiert. Es handelt sich hierbei um 2 Eingabefelder. Im ersten soll kontrolliert werden, ob ein Text eingegeben wurde und im 2., ob es sich bei der Eingabe um eine Zahl handelt. Ich würde aber gerne das ganze in einem Eingabefeld überprüfen. Weiß vielleicht irgendjemand wie ich das in diesem Beispiel am besten machen könnte?? Bitte um Hilfe!!!
Hier der Quellcode:
<head>
<script type="text/JavaScript">
//<!--
var var_1 = new Array()
var_1[0] = new Array('bier','e','Sie haben keine Biermarke angegeben','');
var_1[1] = new Array('zahl','n','ist keine Zahl','');
var msg_1 = 'Fehler:';
function validate(sender,myarray,err_hd){
var err_msg = !err_hd?new Array('Folgende Fehler sind aufgetreten:\n'):new Array(err_hd+'\n');
var error = false;
for (i=0;i<myarray.length;i++){
field = document.forms[sender.name].elements[myarray[i][0]];
/* Block 1 überprüft Felder, die ausgefüllt sein müssen */
if (myarray[i][1].indexOf('e')>-1){
if (!field.value){
error = true;
err_msg.push(myarray[i][2]);
}
}
/* Block 3 überprüft Felder, deren Wert eine Zahl sein muss */
else if (myarray[i][1].indexOf('n')>-1) {
var num_error = false;
if(field.value) {
var myvalue = field.value;
var num = myvalue.match(/[^0-9,.]/gi)
var dot = myvalue.match(/./g);
var com = myvalue.match(/,/g);
if (num!=null) {
num_error = true;
}
else if ((dot!=null)&&(dot.length>1)) {
num_error = true;
}
else if ((com!=null)&&(com.length>1)) {
num_error = true;
}
else if ((com!=null)&&(dot!=null)) {
num_error = true;
}
}
if (num_error==true) {
error = true;
err_msg.push(myvalue+" "+myarray[i][2]);
}
}
}
/* im Fehlerfall werden hier die gesammelten Fehlermeldungen verarbeitet und angezeigt. Wenn das
Formular ohne Beanstandung ist, wird es übertragen */
if (error) {
err_msg = err_msg.join('\n\xB7 ');
alert(err_msg);
return false;
}
else {
return true;
}
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#AA5522" vlink="#772200" alink="#000000">
<h2 class="Sh2">Beispiel</h2>
<form name="testform1" id="testform" onSubmit="return validate(this,var_1)">
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td><input name="bier" id="bier" type="text"></td>
<td>Biermarke (muss ausgefüllt sein)</td>
</tr>
<tr>
<td><input name="zahl" id="zahl" type="text" value="08-fuffzehn"></td>
<td>Zahl (muss eine Zahl sein)</td>
<td colspan="2"><input type="button" name="button" id="button" value="testen" onclick="return validate(this.form,var_1,msg_1)" ></td>
</tr>
</table>
</form>
</body>