2013-01-09 43 views
0

我有這樣的代碼基本上得到一種形式的一些檢查無線電,然後進行發送到PHP文件,代碼的罰款,但我只是對有條件的部分疑問:爲什麼IF語句不起作用?

HTML代碼:

<div id="content0"> 
<h1>Paso 1)</h1> 
<p align="left"></p> 
<h2>¿Cuantos procesos desea Ingresar/Consultar?</h2> 
<br> 
<!-- <label>Escoge un número</label> --> 
<form name="form_data" id="form_data"> 
    1 <input name="ciudad" value="1" type="radio"> 
    2 <input name="ciudad" value="2" type="radio"> 
    3 <input name="ciudad" value="3" type="radio"> 
    4 <input name="ciudad" value="4" type="radio"> <br> 
    5 <input name="ciudad" value="5" type="radio"> 
    6 <input name="ciudad" value="6" type="radio"> 
    7 <input name="ciudad" value="7" type="radio"> 
    8 <input name="ciudad" value="8" type="radio"> <br> 
    9 <input name="ciudad" value="9" type="radio"> 
    10 <input name="ciudad" value="10" type="radio"> <br> 
    <input value="Enviar" id="btn_enviar0" href="javascript:toggle() </input> <br /> <br />  
    <label id=" mensaje="" type="button"> </form> 
    <div id="resultado"></div> 
</div> 

<div id="content4" style="display:none;"> 
    <h1>Paso 5)</h1> 
</div> 

JS代碼:

function getRadioValue() 
{ 
    for (index=0; index < document.form_data.ciudad.length; index++) 
    { 
     if (document.form_data.ciudad[index].checked) 
     { 
      var radioValue =form_data.ciudad[index].value; 
      var num2=parseInt(radioValue); 
      break; 
     } 
    } 
} 

$(document).ready(function() 
{ 
    $('#btn_enviar').click(function() 
    { 
     if(validaText('name1','Nombre') == false) 
      return false; 
     if(validaText('name2','Nombre') == false) 
      return false; 
     if(validaSelect('select_especialidad','Especialidad') == false) 
      return false; 

     $.ajax({ 
      type:'POST', 
      url :'upload4.php', 
      data: $('#form_data4').serialize(), 
      beforeSend : function() 
      { 
       $('#mensaje4').html('Enviando datos...'); 
      }, 
      success: function (data) 
      { 
       $('#mensaje4').html('Datos enviados correctamente.'); 
       $('#resultado4').html(data);  
      }, 
      complete: function() 
      { 
       $('#form_data4').slideUp(); 
       $('#resultado4').slideDown(); 
       $('#flecha4').show(); 
       getRadioValue(); 
       if (num2>=3) 
        $('#content4').show(); 
      } 
     }); 
    }); 

    $('#regresar').click(function() 
    { 
     $('#form_data')[0].reset(); 
     $('#form_data').slideDown(); 
     $('#resultado').slideUp(); 
     $('#mensaje').html(''); 
    }); 
}); 

function validaText(texto,salida) 
{ 
    if($('#'+texto).val()=="") 
    { 
     alert('Em campo '+salida+' es requerido.'); 
     $('#'+texto).focus(); 
     return false; 
    } 
} 

function validaSelect(select,salida) 
{ 
    if($('#'+select).val()==0) 
    { 
     alert('Seleccione '+salida); 
     return false; 
    } 
} 

我不知道很多關於JavaScript的(我使我用PHP,但即時通訊學習碼),但..爲什麼部分代碼不起作用?

if (num2>=3) 
{ 
    $('#content4').show(); 
} 
+0

爲什麼在getReadioValue函數結束時有一個休息時間 – zero

+0

瞭解如何使用JavaScript控制檯並逐步調試。我建議firefox可用的firebug。 – Roger

+0

我是javascript @zero上的新手:P – JuanFernandoz

回答

4

試試這個

function getRadioValue() { 
     for (index=0; index < document.form_data.ciudad.length; index++) { 
      if (document.form_data.ciudad[index].checked) { 
       var radioValue =form_data.ciudad[index].value; 
       return parseInt(radioValue); //<--- Change1 
      } 
     } 
    } 

...

 complete: function(){ 
     $('#form_data4').slideUp(); 
     $('#resultado4').slideDown(); 
      $('#flecha4').show(); 
      var num2 = getRadioValue(); //<-- Change 2 
      if (num2>=3) 

在代碼中的變量NUM2範圍是功能getRadioValue內,你有在那裏申報

+0

非常感謝@Mate! – JuanFernandoz