2016-04-08 8 views
0

Ich habe eine Form wie dieses,Input-Validierung für Textfelder in HTML5

<form> 
    Username: <input type="text" name="usrname" required> 
    <input type="button" value="Post"> 
</form> 

Ich möchte ein Tooltip-Pop-up, wenn der Benutzer auf die Schaltfläche klickt, ohne etwas in das Textfeld eingeben.

Ich weiß, dass es funktioniert, wenn ich den Knopf so ändere - <input type="submit" value="Post">. Aber ich will das nicht tun.

+1

Wie übermitteln Sie das Formular ohne Absenden-Button? –

+0

@GjermundDahl Ich möchte das Formular nicht senden. Wenn Sie auf die Schaltfläche klicken, wird eine JavaScript-Funktion ausgelöst. Wenn die Schaltfläche jedoch ohne Text in der Textbox angeklickt wird, sollte ein Tooltip angezeigt werden. Ist das möglich? –

+0

Die einzige Möglichkeit, die native Fehlermeldung eines Browsers anzuzeigen, ist submit. Überprüfen Sie diesen Thread: http://stackoverflow.com/questions/11866910/how-to-force-a-html5-form-validation-without-submitting-it-via-jquery –

Antwort

0

Meinten Sie formaction statt action?

<input type="text" name="usrname" required formaction="action_page.php"> 

action ist ein form Tag-Attribut, nicht input s ist.

0

Verwenden HTML5

wie das Versuchen wird es funktionieren: action-Attribut speziell für form-Tag. nicht input Tag

<form action="action_page.php"> 
    Username: <input type="text" name="usrname" required > 
    <input type="submit" value="Post"> 
</form> 
0

Verwenden Sie die Methode "POST" in-Tag, wird es

arbeiten
<form action="action_page.php" method="POST"> 
     Username: <input type="text" name="usrname" required > 
     <input type="submit" value="Post"> 
    </form> 
0

ich herausgefunden, wie dies aus this Beitrag basiert auf einer Antwort mit einigen jQuery zu tun.

Der folgende Code tut genau das, was ich suchte,

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width"> 
    <title>JS Bin</title> 
</head> 
<body> 

<form id="myForm"> 
    Username: <input type="text" name="usrname" required id="input"> 
    <input type="button" value="Post" id="button"> 
</form> 


<script> 
$('#button').click(function(e) { 

    if ($('#input').val() === "") { 

     $('<input type="submit">').hide().appendTo('#myForm').click().remove(); 

    } 

}); 

</script> 

</body> 
</html> 

Siehe here für DEMO