下拉菜单验证JS

时间:2014-01-26 15:06:12

标签: javascript php

我有一个动态生成的下拉菜单使用PHP,我在不同的网页上使用这些鬃毛,现在我还想为这些菜单添加一些JS验证,以便用户在填写时不会忘记选择一个选项形成。

问题是我的JS代码不起作用并且不验证我的菜单,代码对我来说很好我有IF语句,他们检查第一个选项值是否为0因此没有选择但它仍然存在不工作

PHP代码:

    $option='<select id="Forex" name="workshop">';
        $option.='<option value="0">Select Forex Workshop</option>';
        $option.='';
            while($result = mysqli_fetch_assoc($query))
            {
                if($timestamp < $result['endingDate'])
                {
                    $option.='<option id="'.$result['id'].'" value='.$result['endingDate'].'>'.$result['course']." ".$result['schedule'].'</option>';   
                }
            }
            $option.='</select>';
            return $option;             
    }

function getBinary($link){
$timestamp = date("Y-m-d");

    $query2 = mysqli_query($link, $sql2);
        $option2='<select id="Binary" name="workshop">';
        $option2.='<option value="0">Select Binary Workshop</option>';
        $option2.='';
            while($result2 = mysqli_fetch_assoc($query2))
            {
                if($timestamp < $result2['endingDate'])
                {
                    $option2.='<option id="'.$result2['id'].'" value="'.$result2['endingDate'].'">'.$result2['course']." ".$result2['schedule'].'</option>';
                }
            }
            $option2.='</select>';
            return $option2;
}
?>

JS CODE:

        var workshop=document.getElementById('Binary').value;
    if(workshop==0){
        document.getElementById('Binary').style.borderColor = "red";
        document.getElementById('error').innerHTML = "Please Select Workshop1";
        return false;
    }else{
        document.getElementById('Binary').style.borderColor = "green";
    }

        var workshop2=document.getElementById('Forex').value;
    if(workshop2==0){
        document.getElementById('Forex').style.borderColor = "red";
        document.getElementById('error').innerHTML = "Please Select Workshop";
        return false;
    }else{
        document.getElementById('Forex').style.borderColor = "green";
    }

1 个答案:

答案 0 :(得分:0)

您错误地命名了选择ID /名称。

$option='<select id="Forex" name="workshop">'; 

但是你试图通过 id workshop 调用它来从JS访问它,而name attribute是研讨会而不是id。

  var work=document.getElementById('workshop').value; 

id是Forex而不是研讨会。你从不同的Js线上调用外汇。我认为您的错误是尝试访问null变量。除非你有另一个我不知道id工作室的元素。