2017-12-09 6 views
0

자바 스크립트에서 두 조건 함수를 만들었습니다. 첫 번째 기능은 사용자가 opsi combobox "Internal"을 입력 한 후 pengirim internal disabled = false 필드입니다. 두 번째 기능은 사용자가 콤보 박스 "내부"를 채우고 필드 pengirim 내부가 여전히 null이거나 채워지지 않은 경우입니다. 그런 다음 사용자는 pengirim 필드 내부 값이 필수 값이어야한다는 알림을받습니다. 나도 몰라, 왜 조언을 주시기 바랍니다 나두 가지 조건 함수가 자바 스크립트에서 작동하지 않습니다.

// jika dipilih opsi internal maka field pengirim internal enabled. field pengirim eksternal disabled 
 
$("#opsi").change(function() { 
 
    if ($("#opsi").val() === "Internal") { 
 
    document.getElementById('pengirim_internal').disabled = false; 
 
    // disabled field pengirim internal dan clear pengirim eksternal 
 
    document.getElementById('pengirim_eksternal').disabled = true; 
 
    document.getElementById('pengirim_eksternal').value = ''; 
 
    } 
 
    elseif 
 
    $("#validation-form").validate({ 
 
    rules: { 
 
     pengirim_internal: "required" 
 
    }, 
 
    messages: { 
 
     pengirim_internal: "Silahkan Pilih Pengirim Internal!", 
 
    }, 
 
    submitHandler: function(form) { 
 
     form.submit(); 
 
    } 
 
    }); 
 
});
<fieldset class="hr"> 
 
    <label class="span2">Opsi Surat Masuk</label> 
 
    <select name="opsi" id="opsi"> 
 
\t \t \t \t \t <option value="">Pilih Satu</option> 
 
\t \t \t \t \t <option value="Internal">Internal</option> 
 
\t \t \t \t \t <option value="Eksternal">Eksternal</option> 
 
\t \t \t \t </select><span class="mandatory">*</span> 
 
</fieldset> 
 
<fieldset class="hr"> 
 
    Pengirim Internal : 
 
    <select id="pengirim_internal" name="pengirim_internal"> 
 
     <option name="pengirim_internal" value="Islam">Example1</option> 
 
     <option nama="pengirim_internal" value="Kristen">Example2</option> 
 
     </select> 
 
    <span class="mandatory">*</span> 
 
</fieldset>
당신이 준 코드와

+5

JavaScript에 'elseif'가 없습니다. 그것은'else if'이고 조건은 괄호 안에 싸여 있어야합니다. 'elseif '이후의 조건과 실행되는 코드는 무엇입니까? 아니면'else '를 의미 했습니까? – Xufox

답변

0

, 나는

//jika dipilih opsi internal maka field pengirim internal enabled. field pengirim eksternal disabled 
$("#opsi").on('change',function() { 
    if ($("#opsi").val() === "Internal") {  
      $('#pengirim_internal').prop('disabled',false); 
      // disabled field pengirim internal dan clear pengirim eksternal 
      $('#pengirim_eksternal').prop('disabled', 'disabled'); 
      $('#pengirim_eksternal').val(''); 
     } 
    else 
    { 
     $("#validation-form").validate({ 
     rules: { 
      pengirim_internal: "required" 
     }, 
     messages: { 
      pengirim_internal: "Silahkan Pilih Pengirim Internal!", 
     },  
     submitHandler: function(form) { 
      form.submit(); 
     } 
     }); 
    } 
}); 

추가해야합니다,이 뜻이 당신을 위해 일하는 희망 jquery 및 jquery.validate.min.js는 귀하의 페이지를 참조합니다.