Tengo este código que tiene un formulario y un script que lo valida si el valor ingresado es un número. El problema es que cuando hago clic en el botón enviar / agregar irá directamente a addcontribution.php.

Adicional me gusta también agregar diálogo de confirmación. como "confirmar agregar (la cantidad)?" en caso afirmativo, procederá a agregarcontribución.php y, en caso negativo, volverá a sí mismo y restablecerá el campo.

<form form="CONTRIFORM" name='contribution' method="POST" Action="addcontribution.php" onSubmit="return formvalidation2();">
  <center>
    Amount:
    <input type="text" name="contriamnt" id="contriamnt" size="15" placeholder=" Amount"></br></br>
    <button id="searchbutton" type="submit" name="submit" value="Submit">ADD</button></br>
  </center>
</form> 

<script>

function formvalidation2() {
    var amntDATA = document.registration.contriamnt;  
    if(allnumber(amntDATA)) {  
        if(ChangeText()) {
            if(new_tab()) {
            }
        }
    } 
    return false;  
}

function allnumber(amntDATA) {   
    var x = /^[0-9]+$/;  
    if(amntDATA.value.match(x)) {  
        return true;
    } else {  
        alert('Invalid Amount.');  
        return false;  
    }
}
</script>
0
mar 1 sep. 2014 a las 15:31

3 respuestas

La mejor respuesta

Hay una falta de coincidencia en el nombre del formulario

var amntDATA = document.contribution.contriamnt; 
2
senK 1 sep. 2014 a las 11:35

Use jquery en lugar de javascript. El código es simple

$("form").submit(function(){

    var value = $("#contriamnt").val();
    var x = /^[0-9]+$/;  
    if(value.match(x)) {  
        return true;
    } else {  
        alert('Invalid Amount.');  
        return false;  
    }


});

Html:

<form form="CONTRIFORM" name='contribution' method="POST" Action="addcontribution.php" >
<center>
    Amount: <input type="text" name="contriamnt" id="contriamnt" size="15" placeholder=" Amount"></br></br>
    <button id="searchbutton" type="submit" name="submit" value="Submit">ADD</button></br>
</center>
</form>

Puede usar el complemento de diálogo jquery para el diálogo emergente http://jqueryui.com/dialog/#modal-confirmation

0
Techy 1 sep. 2014 a las 12:45

Prueba esto:

<form form="CONTRIFORM" name='contribution' method="POST" Action="addcontribution.php" onSubmit="return formvalidation2();">
<center>
    Amount: <input type="text" name="contriamnt" id="contriamnt" size="15" placeholder=" Amount"></br></br>
    <button id="searchbutton" type="submit" name="submit" value="Submit">ADD</button></br>
</center>
</form> 

<script>

function formvalidation2()  
{
var amntDATA = document.contribution.contriamnt;  
alert(amntDATA);
if(allnumber(amntDATA))  
{  
   alert("number");
   return true;
}else{
    alert("not a number");
    return false;
}

}

function allnumber(amntDATA)  
{   
var x = /^[0-9]+$/;  
if(amntDATA.value.match(x))  
{  
    return true;
}  
else  
{  
alert('Invalid Amount.');  
return false;  
}

}

</script>
0
Suchit kumar 1 sep. 2014 a las 11:43