为什么IF语句不起作用?

时间:2013-01-09 03:50:05

标签: javascript if-statement

我有这个代码基本上得到一个表格的检查无线电然后发送到一个PHP文件,代码很好但我只对条件部分有疑问:

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();
}

1 个答案:

答案 0 :(得分: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 中,正如您在那里声明的那样