2016-12-09 3 views
-4

Ich bin eine einfache Form zu machen, die eine Warnung wird ausgelöst, wenn eine ‚versteckte‘ Feld gefüllt wird, aber ich kann nicht sehen, was ich bin fehlt oder was Syntax Ich habe falsch:Ausgabe mit JS Alarm

<form method="post" action="http://www.URL/form.php?form=159" id="frmSS159" onsubmit="return CheckForm159(this);"> 
    <input type="text" name="email" value="Email Address" onclick="this.value='';" onBlur="if(this.value=='')this.value='Email Address';" /> 

    <div style="padding: 5px 0;" aria-hidden="true"> 
    <input type="text" name="asdf" tabindex="-1" value="" placeholder="If content, alert error"> 
    </div> 

    <input type="submit" value="Subscribe" /> 
</form> 




    function CheckForm159() { 
    if ($_POST['asdf'] != '') { 
     alert("Please type your email address instead of using a form-filler"); 
    } 
    return true; 
} 

fiddle

+3

Was denken Sie '$ _POST' in tut * JavaScript *? – nnnnnn

+0

klar kommen Sie aus einem PHP-Hintergrund - oder Sie verwenden PHP ... müssen Sie zwischen der Server-Seite Code und Client-Seite Code in einer PHP-Datei –

+0

Sie nicht $ _POST in Client-Side-Scripting lernen, zu differenzieren können. JS unterstützt diese Syntax nicht. Sie sollten Ihre Frage vor der Anfrage löschen. – Sahadev

Antwort

1

Hallo gibt es Fehler im Code ... Sie hinzugefügt $ _POST, die PHP-Syntax in JavaScript ist.

Ihre aktualisierte Code ...

<script> 
    function CheckForm159() { 
     var _curValue = document.getElementById('asdf').value; 

     if (_curValue != '') { 
     alert("Please type your email address instead of using a form-filler"); 
     } 
     return true; 
    } 
</script> 




<form method="post" action="http://www.URL/form.php?form=159" id="frmSS159" onsubmit="return CheckForm159(this);"> 
    <input type="text" name="email" value="Email Address" onclick="this.value='';" onBlur="if(this.value=='')this.value='Email Address';" /> 

    <div style="padding: 5px 0;" aria-hidden="true"> 
    <input type="text" id="asdf" name="asdf" tabindex="-1" value="" placeholder="If content, alert error"> 
    </div> 

    <input type="submit" value="Subscribe" /> 
</form> 
+0

Ich habe versucht, dies in einer aktualisierten Fiddle, aber immer noch nicht bekommen kann die Warnung Pop-up https (es den Bildschirm in der Produktion weg bewegt wird) (?)://jsfiddle.net/simplecreatif/3uf25o15/ – phillynight

+0

hallo fügen Sie einfach Javascript in Script-Tag vor Formulartag – spankajd

+0

ich Antwort aktualisiert haben .. Sie können Paste Code in jsfiddle – spankajd

0

verwenden Sie einfach die onChange Funktion von JQuery. Nachdem die Eingabe geändert wurde, wird eine Warnung angezeigt.

$("input[name=asdf").change(function(){ 
    alert("Input value changed!"); 
}); 
+0

Jaired Jawed, warum Sie denken, sollten sie beantworten? Wie phillynight nicht weiß, ist $ _POST in JS vorhanden oder nicht. – Jigar7521

+0

Wird das betreffende Feld ein Änderungsereignis erhalten, da es nicht sichtbar ist? Beachten Sie auch, dass die Beschreibung der Stackoverflow der „Javascript“ Tages sagt: „Es sei denn, ein anderer Tag für eine Rahmen/Bibliothek ist auch eine reine JavaScript Antwort enthalten ist, wird erwartet“ - es gibt wirklich keine Notwendigkeit, in jQuery bringen nur einen Event-Handler zu binden. – nnnnnn

+0

Das Feld ist wie ein Honeypot, so dass es nie gefüllt werden soll – phillynight