我有一个动态生成的下拉菜单使用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";
}
答案 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工作室的元素。