2016-06-03 10 views
2

Ich brauche deine Hilfe hier, weil ich nicht bewusst von Javascript oder Jquery-Bibliothek, und ich denke, ich muss sie in meinem Projekt verwenden deaktiviert Formular, wenn die Seite lädt und ich möchte aktivieren, wenn ich auf das Kontrollkästchen aktiviert.Ich habe eine Menge versucht, aber ich habe keine Lösungen gefunden ..Ich muss Formular aktivieren (es ist beim Laden der Seite deaktiviert) nach Kontrollkästchen aktiviert

Hier ist der "deaktivieren" -Code beim Laden der Seite:

$(document).ready(function (e) { 
    $("#form1 *").prop("disabled", "disabled"); 
}); 

Die Checkbox ist:

<input type="checkbox" id="checkbox" name="opt[]" value="'.$points.'"> 

Wenn Sie irgendwelche Ideen haben, bitte informieren Sie mich!

Ein Schuss aber ..no Ergebnis war:

document.getElementById('checkbox').onchange = function() { 
    document.getElementById('eksargirwsh').disabled = this.checked; 
}; 

Form Code:

<form method="post" id="eksargirwsh" action="update_points_test2.php"> 

      <div class="col-lg-4"> 
       <div class="ibox float-e-margins"> 
        <div class="ibox-title"> 
            <h5>Form1</h5> 

           </div> 
           <div class="ibox-content"> 

echo ' 

            <div> 
             <div class="feed-activity-list"><div style="border: 0.5px solid green; border-right-style:none;" class="input-group m-b"><span class="input-group-addon"> 
               <input type="checkbox" id="checkbox" name="opt[]" value="'.$points.'"></span> 
               <input type="hidden" name="opt2[]" value="'.$row_select4['id'].'"> 


              <div class="feed-element"> 
               <a href="profile.html" class="pull-left"> 
              <img alt="image" class="img-circle" src="'. $row_select4['image_url']. '"> 
               </a> 
              <div class="media-body "> 
             <div class="ibox-tools"> 
                 <span class="label label-primary">ΔΙΑΘΕΣΙΜΟ</span><br><br> 
                 <span class="label label-warning-light pull-right"><strong>' .$row_select4['points']. '</strong> Πόντοι</span> 
                </div> 
                <strong>' .$row_select4['title']. ' </strong> ' .$row_select4['description']. ' <br> 
                <small class="text-muted">Διάρκεια: <strong>' .$row_select4['start_date']. ' - ' .$row_select4['end_date']. ' </strong></small> 
                <div class="well"> 
                 ' .$row_select4['description']. ' 
                </div> 
                </div> 
               </div> 
              </div> 

             </div>' ; 

<button type="submit" id="submit" class="btn btn-w-m btn-primary">SUBMIT</button> 
          </form> 
+4

Ist 'id = "Checkbox"' in der Form? – RRK

+0

Zeigen Sie den Code zum Ändern der deaktivierten Stütze, die Sie bisher ausprobiert haben, damit wir Ihnen helfen können. – Shrabanee

+0

Ja, es ist in der Form! – platanas20

Antwort

1

Das Kontrollkästchen ist in der gleichen Form, wenn es dann ist

Sie ganze Seite zu tun haben, zu deaktivieren, außer dass

$(document).ready(function() { 
     $('form :not([type=checkbox])').prop('disabled',true); 

}); 

diese Funktion in Checkbox setzen

$(":checkbox").click(function(){ 
    if (this.checked) { 
     $('#form :not([type=checkbox])').prop('disabled',false); 
    } 
    else{ 
    $('#form :not([type=checkbox])').prop('disabled',true); 
    } 
}) ; 

Für die Benutzeranforderung Fiddle unten erstellt wird, ist der Link

JSFiddle

+0

Die Teilfunktion funktioniert nicht! Ich habe 'onchange =" enable_form() "' innerhalb der Eingabe der Checkbox, aber Form isn' t aktiviert, wenn das Kontrollkästchen aktiviert ist – platanas20

+0

$ ('form') prop ('disabled', false); probiere dies anstelle von $ ("form"). removeAttr ("disabled"); – Tanmay

+0

und versuchen Sie es mit onclick Zwei Gründe, warum onclick gegenüber onchange bevorzugt wird. Der Internet Explorer löst nur das Ereignis onchange aus, wenn das Kontrollkästchen den Fokus verliert (onblur). Onclick ist also eher eine Cross-Browser-Lösung. onchange passiert erst, nachdem das Element den Fokus verloren hat.(Sie werden keinen Unterschied sehen, da Sie bei jeder Änderung Alarm schlagen und den Fokus verlieren). Der Pseudocode auf MDC erklärt ziemlich genau die Implementierung von element.onchange. – Tanmay

3

verwenden. Sie können Elemente auswählen, die nicht #checkbox sind, und sie dann zuerst deaktivieren. Fügen Sie anschließend eine Funktion zu checkbox change hinzu, um diese Option zu aktivieren.

$(document).ready(function (e) { 
    $("#form1 *:not(#checkbox)").prop("disabled", true); 
    $("#form1").addClass('disabled'); 
    $('#checkbox').change(function(){ 
    $("#form1 *:not(#checkbox)").prop("disabled", !this.checked); 
    $("#form1").toggleClass('disabled', !this.checked); 
    }) 
}); 
#form1{ 
    opacity: 1; 
} 
#form1.disabled{ 
    opacity: 0.2; 
} 
+0

Funktioniert Ist es möglich, einige Deckkraft, wenn das Formular deaktiviert ist? – platanas20

+1

@ platanas20 Fügen Sie dem Formular bei einem solchen Ereignis eine Klasse hinzu. Fügen Sie dann css zur Klasse hinzu. Wenn es nicht funktioniert an 'Form' Element, versuchen Sie an einem Elternteil' div's, oder geben Sie richtige CSS zu bilden – RRK

+0

Das Problem ist, dass, wenn das erste Kontrollkästchen nicht immer aktiviert ist, ich das Formular nicht übergeben kann. Ich don 't wollen diese Ursache Benutzer wählt, welche Checkbox wird überprüft und er konnte nicht die erste wählen – platanas20

Verwandte Themen