Phil: 2 Werte in einem Eingabefeld überprüfen

Beitrag lesen

<head>
<script type="text/JavaScript">
//<!--
var var_1 = new Array()
var_1[0] = 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="zahl" id="zahl2" 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>

feddich

Gruß

Phil

--
ich bin ein nachmacher: http://www.eppstein.de