Chcę zrobić, to jeśli użytkownik wybiera "BYCRPT", powinien pokazać pole, aby zapytać, ile przechodzi, a jeśli wybiera "Sha512", aby pokazać to samo pole, ale wyłączone. Zalecałem to za pomocą jQuery, ale moja próba nie działa. Mój kod jest następujący:

    <fieldset>
    <legend>Security</legend>
    <label>Hash Type</label>
    <select name="hash" id="myId">
            <option value="bcrypt"<?php if($hash == 'bcrypt') { echo ' selected="selected"'; } ?>>Bcrypt</option>
            <option value="sha512"<?php if($hash == 'sha512') { echo ' selected="selected"'; } ?>>SHA512</option>
        </select>

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js" /></script>
    <label>Bcrypt rounds <i>(12 Rounds is recommended)</i></label>
    <script type="text/javascript>
    $("#myId").change(function() {
var tst = document.getElementById('myId').value;

if (tst ==1) {
    document.getElementById('#bcrypt_rounds').disabled=true;
} else {
    document.getElementById('#bcrypt_rounds').disabled=false;
}
});

    </script>
<input name="bcrypt_rounds" id="bcrypt_rounds" type="text" value="<?php echo $bcrypt_rounds; ?       >" />  

Zaktualizowany powyżej. Teraz wyciąga startą po etykiecie "BYCRPT_ROUNTS". Nie dostaje się do pola dla "BYCRYPT_ROUNDS".

0
chriscct7 7 wrzesień 2012, 16:58

2 odpowiedzi

Najlepsza odpowiedź

Coś takiego:

<script type="text/javascript">
$("#myId").change(function() {
    var tst = document.getElementById('myId').value;

    if(tst == "sha512") {
        document.getElementById('number_field_id').disabled=true;
    } else {
        document.getElementById('number_field_id').disabled=false;
    }
});
</script>
0
Peon 7 wrzesień 2012, 13:31

Znajdź błąd, zapomnij o " w <script type="text/javascript">

<fieldset>
    <legend>Security</legend>
    <label>Hash Type</label>
    <select name="hash" id="myId">
            <option value="bcrypt"<?php if($hash == 'bcrypt') { echo ' selected="selected"'; } ?>>Bcrypt</option>
            <option value="sha512"<?php if($hash == 'sha512') { echo ' selected="selected"'; } ?>>SHA512</option>
        </select>

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js" /></script>
    <label>Bcrypt rounds <i>(12 Rounds is recommended)</i></label>
    <script type="text/javascript">
    $("#myId").change(function() {
var tst = $('myId').val();

if (tst ==1) {
    $('#bcrypt_rounds').attr('disabled','disabled');
} else {
    $('#bcrypt_rounds').removeAttr('disabled');
}
});

    </script>
<input name="bcrypt_rounds" id="bcrypt_rounds" type="text" value="<?php echo $bcrypt_rounds; ?       >" />  
0
Aelios 7 wrzesień 2012, 13:19