2016-04-05 3 views
0

Ich habe ein Formular mit Absenden Tasten eingerichtet, um eine Stimme zu tun. Die Daten werden mit php in der Datenbank gespeichert. Um Spam zu vermeiden, suchte ich nach einer jquery-Option, um die Buttons für eine bestimmte Zeit zu deaktivieren. Leider funktioniert es nicht in einer Form. Zum Beispiel, wenn ich das Formular um die Schaltflächen entfernen, funktioniert es gut, aber weil ich den Wert der Schaltflächen speichern muss ich das Formularattribut haben. Was jetzt passiert, ist, dass UND mein Formular den PHP-Code oben nicht handhabt (ich habe den Code dafür nicht eingegeben) und die Deaktivierungstastenfunktion funktioniert nicht (der Knopf ist für 1sek deaktiviert, statt dessen, was er sein soll) .PHP funktioniert nicht mit einem Absenden Button in einem Formular mit Jquery

<div class="row"> 
     <form name="stemmen" id="formstemmen" action="stemmensofeed.php" method="post"> 

     <div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;"> 

      <?php if (!empty($answer1)) { echo '<input type="submit" id="wordpress" class="btn btn-primary" name="wordpress" value='.$answer1.'>'; } ?> 

     </div> 
     <div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;"> 

      <?php if (!empty($answer2)) { echo '<input type="submit" class="btn btn-primary" name="laravel" value='.$answer2.'>'; } ?> 

     </div> 
     <div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;"> 

      <?php if (!empty($answer3)) { echo '<input type="submit" class="btn btn-primary" name="html" value='.$answer3.'>'; } ?> 

     </div> 

     <div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;"> 

      <?php if (!empty($answer4)) { echo '<input type="submit" class="btn btn-primary" name="css" value='.$answer4.'>'; } ?> 

     </div> 

     <div class="col-xs-12 col-sm-3 col-md-2 col-lg-1" style="margin-bottom: 10px;"> 

      <?php if (!empty($answer5)) { echo '<input type="submit" class="btn btn-primary" name="bootstrap" value='.$answer5.'>'; } ?> 

     </div> 

     </form> 



    </div> 


    <!-- jQuery 2.2.0 --> 
    <script src="admin/plugins/jQuery/jQuery-2.2.0.min.js"></script> 
    <!-- Include all compiled plugins (below), or include individual files as needed --> 
    <script src="bootstrap-sass/assets/javascripts/bootstrap.js"></script> 
<script> 
    $('input#wordpress').click(function() { 
    var aaa = $(this); 
    aaa.prop('disabled', true); 
    setTimeout(function() { 
    aaa.prop('disabled', false); 
    }, 3000); 
    }); 
</script> 

Ich bin kein Experte auf JavaScript und jQuery, so ist es jemanden, der mir dabei helfen kann?

Eine Geige aus dem Originalcode http://jsfiddle.net/jhNcM/ = das erwartete Ergebnis (+ handle PHP-Code aus dem Formular).

EDIT

Ich habe es geschafft, die Sperrtaste arbeiten, Dank @Koustav Ray zu bekommen, die von diesem Code

$('input#wordpress').click(function(e) { //added e 
    e.preventDefault(); //added this 
    var aaa = $(this); 
    aaa.prop('disabled', true); 
    setTimeout(function() { 
    aaa.prop('disabled', false); 
    }, 3000); 
    }); 

jetzt Leider wird das Formular nicht die PHP-Code verarbeiten .. Bitte helfen Sie mit! obwohl .. Betrachten @ Nergals Antwort und auch versuchen, Ajax für die Einreichung der Form nach dieser

+0

Was Ergebnis erwartet? – guest271314

+0

@ guest271314 Ich habe eine Geige hinzugefügt, das ist eigentlich das Ergebnis, das ich für meine eigene Schaltfläche + Umgang mit dem PHP-Code durch das Formular – Gijsberts

+0

Nicht sicher, was 'PHP' innerhalb 'html' erwartet wird, zurückzukehren? Was sind "$ answer1" bis "$ answer5"? – guest271314

Antwort

1
$('input#wordpress').click(function(e) { 
    e.preventDefault(); 
    var aaa = $(this); 
    aaa.prop('disabled', true); 
    setTimeout(function() { 
    aaa.prop('disabled', false); 
    }, 3000); 
    }); 

tun Dies sollte it..you dies für 3 Sekunden sind zu deaktivieren ..

+0

Nun ist der Button nach einem Klick deaktiviert, aber leider wird der PHP-Code nicht mehr behandelt. Sollte ich mir den Ajax ansehen? Danke trotzdem :) – Gijsberts

+0

korrigieren Sie sollten .. weil e.preventdefault stoppt das Standardverhalten, dh Einreichung des Formulars..try dies für Formular einreichen .. '$ .post (" stemmensofed.php ", Funktion (Daten) { // Tun Sie etwas mit Ihrer Antwort dh Daten like -> alert (Daten); ' }); –

+1

lesen Sie auch: http: //api.jquery.com/jquery.post/ –

Verwandte Themen