您好我想为我工作的一种形式做验证,我已经写了功能和使用Java脚本的通过ID
document.getElementById("span_trav_emer_med_insur").style.backgroundColor ='#FFFFFF';
我过我的功能来显示改变元素的颜色一个警告消息框,当'trav_emer_med_insur'被选中时出于调试的目的显示消息框。我已经在这里和其他无数网站查过,他们都说getElementById.style.backgroundColor = 'color';
是实现我所寻找的方法。在这一点上,我不明白为什么它不起作用,一切看起来都是正确的。
这里是起点,我的函数的相关部分:
function validatePlanTypes(form) {
var error = "";
if (form.trav_emer_med_insur.checked) {
document.getElementById("span_trav_emer_med_insur").style.backgroundColor = '#FFFFFF';
if (!form.trav_emer_med_insur_opt1.checked || !form.trav_emer_med_insur_opt2.checked || !form.trav_emer_med_insur_opt3.checked || !form.trav_emer_med_insur_opt4.checked) {
form.trav_emer_med_insur_opt1.style.backgroundColor = 'Yellow';
form.trav_emer_med_insur_opt2.style.backgroundColor = 'Yellow';
form.trav_emer_med_insur_opt3.style.backgroundColor = 'Yellow';
form.trav_emer_med_insur_opt4.style.backgroundColor = 'Yellow';
error = "You must pick a plan-type for Travel Emergency Medical insurance, areas with a problem have been highlighted yellow for you.";
}
我没有测试的全功能呢,我只是想在这个时候来测试第一个if语句,正如我所说的如果声明有效并且警报(“bleh”);将显示一个提醒,如果我检查该框
这里是我试图改变复选框周围元素的背景颜色的窗体的HTML。
<p><span name="span_trav_emer_med_insur" id="span_trav_emer_med_insur" value="span_trav_emer_med_insur" style=""><input type="checkbox" name="trav_emer_med_insur" id="trav_emer_med_insur_if" value="trav_emer_med_insur_if" class="form_elements" onClick="if(this.checked){document.getElementById('trav_emer_med_options').style.display='block';}else{document.getElementById('trav_emer_med_options').style.display='none';}"/></span> <!-- Travel Emergency Medical If Box -->
<label class="form_elements" name="label_for_trav_emer_med_insur_if" id="label_for_trav_emer_med_insur_if"> Travel Emergency Medical Insurance <em>(expands when checked)</em>.</label></p>
<p>
<div id="trav_emer_med_options" name="trav_emer_med_options" class="questions_hidden">
我也曾尝试
form.span_trav_emer_med_insur.style.backgroundColor = '#FFFFFF';
也无济于事,我真的在这里难倒,代码看起来与我所看到的一切过网。有人请告诉我我缺少的东西。
感谢, -Sean
编辑 - 只是为了验证:的
if (form.trav_emer_med_insur.checked) {
alert("bleh");
代替
if (form.trav_emer_med_insur.checked) {
document.getElementById("span_trav_emer_med_insur").style.backgroundColor = '#FFFFFF';
没有工作,所以if语句或功能是没有问题的。
这里完整的文件 - 使用的getElementById不工作 - http://hotfile.com/dl/135598683/93484d4/general2.html
这里完整的文件与警报( '的Bleh')工作 - http://hotfile.com/dl/135598746/dc9e14b/general23.html
工作显示正是我想要做的PHP代码(减该页面重载的部分):
// Check if Emergency Medical is selected.
if (isset($_POST['trav_emer_med_insur'])) {
// If Emergency Medical is selected, then check to see if an option has been selected
if (isset($_POST['trav_emer_med_insur_opt1']) or isset($_POST['trav_emer_med_insur_opt2']) or isset($_POST['trav_emer_med_insur_opt3']) or isset($_POST['trav_emer_med_insur_opt4'])) {
$SQLString = $SQLString . "emer_med, emer_med_opt1, emer_med_opt2, emer_med_opt3, emer_med_opt4";
}
// If no option is selected display error message
else {
++$ErrCount;
$Errors[$ErrCount] = "You selected interest in Travel Emergency Medical Insurance but did not select a plan-type for it";
}
}
// Check if All-Inclusive Insurance is selected.
elseif (isset($_POST['allinc_insur'])) {
//If All-Inclusive Insurance is selected, then check to see if an option has been selected
if (isset($_POST['allinc_insur_opt1']) or isset($_POST['allinc_insur_opt2'])) {
}
//If no option is selected display error message
else {
++$ErrCount;
$Errors[$ErrCount] = "You have selected interest in All-Inclusive Insurance but did not select a plan-type for it";
}
}
// Check if Cancellation Insurance is selected.
elseif (isset($_POST['cancel_insur'])) {
}
// Check if Visitor Insurance is selected.
elseif (isset($_POST['visitor_insur'])) {
//If Visitor Insurance is selected, then check to see if country is selected.
if (isset($_POST['country_select'])) {
}
// If no country selected display error message
else {
++$ErrCount;
$Errors[$ErrCount] = "You have selected interest in Visitor Insurance but have not selected a country";
}
}
//If no insurane types selected display error.
else {
++$ErrCount;
$Errors[$ErrCount] = "You haven not selected interest in any insurance plan types";
}
while ($Count != $Target) {
if (checked($QuestionNames[0]) != 1);
++$Count;
}
哪个浏览器(S)是不是工作?另外,你的表单标签的'name'是什么? – GregL
jquery是你的朋友在这里 –
铬它不工作,只是在FF和IE测试,同样的事情。 Firebug报告没有语法错误。 – SC1988