2017-01-19 1 views
0

Ich versuche, das Textfeld zu aktivieren, wenn das Kontrollkästchen aktiviert ist und meine Codierung mag was ich will. Wenn die Schaltfläche zum Absenden gedrückt wird, wird das gesamte Formular überprüft und Fehlerinformationen für jedes leere Feld, das nicht ausgefüllt wurde, angegeben und die restlichen Informationen verbleiben in jedem Feld, das ausgefüllt wurde. Das Problem ist, wenn das Kontrollkästchen aktiviert, Textfeld aktiviert und ausgefüllt ist, nach dem Drücken der Schaltfläche Senden (wenn alle erforderlichen Feld nicht abgeschlossen), wird die Textbox deaktiviert mit Wert blieb.Aktivieren Sie die Textbox, wenn das Kontrollkästchen aktiviert ist - php

unten Codierung, dass ich zur Zeit verwenden:

<input type="checkbox" name="chklist" onchange="document.getElementById('txtOthers').disabled = !this.checked;" <?php if(isset($_POST['btnSubmit']) && isset($_POST['chklist'])) echo "checked" ?> /> OTHERS : 
    <input style="width: 130px;" type="textbox" id="txtOthers" name="txtOthers" disabled value="<?php echo $others;?>" /> 
+0

Was JavaScript Sie bisher geschrieben haben, um diese Dinge zu erreichen? – wogsland

+0

Bitte zeigen Sie JavaScript/Jquery Code, den Sie verwenden, ist es schwierig zu erraten mit aktuellen Informationen –

+0

@wogsland Ich nur die 'onchange =" document.getElementById ('txtOthers'). Disabled =! This.checked; "' in der 'checkbox 'zum Aktivieren und Deaktivieren der' textbox' –

Antwort

0

Sie können jQuery verwenden, dies zu tun:

<input type="checkbox" name="chklist" id="checkbox" <?php if(isset($_POST['btnSubmit']) && isset($_POST['chklist'])) echo "checked" ?> /> OTHERS : 
<input style="width: 130px;" type="textbox" id="txtOthers" name="txtOthers" disabled value="<?php echo $others;?>" /> 

$(document).ready(function(){ 
    $("#checkbox").change(function(){ 
     if ($('input.checkbox_check').is(':checked')) { 
      $(#txtOthers).show(); 
     }else{ 
      $(#txtOthers).hide(); 
     } 
    }); 
    $("form").submit(function() { 
     $("#txtOthers").prop('disabled', true); 
    }); 
}); 
+0

Hallo, danke für die Antwort. Ich habe es versucht und immer noch das gleiche Ergebnis. Die gesamte Seite wird tatsächlich aktualisiert, wenn auf die Senden-Schaltfläche geklickt wird. Dadurch wird die 'Textbox' wieder deaktiviert. Gibt es irgendeine Weise, die ich etwas tun kann, wie 'if (isset ($ _ POST ['chklist'])) {// tu etwas, um textbox zu aktivieren}' –

+0

können Sie eine weitere Sache submit Formular durch jQuery.ajax hinzufügen. Es wird vermieden, die Seite zu aktualisieren. $ ("# Eintragen") klicken (function() {$ .ajax ({ Typ:. "POST", url: "ajaxsubmit.php", Daten: Datenzeichen, Cache: false, Erfolg: Funktion (Ergebnis) { // mach deine Sachen nach dem Formular einreichen }} }); –

+0

löschen Sie diesen Code: $ ("Formular"). submit (function() { $ ("# txtOthers"). prop ("deaktiviert", wahr); }); –

Verwandte Themen