禁用/启用表单字段的Javascript
我希望此脚本在页面加载时禁用日期字段,然后根据下拉字段启用/禁用。脚本根本没有做任何事情,我想知道是否有人能看到我做错了什么禁用/启用表单字段的Javascript,javascript,Javascript,我希望此脚本在页面加载时禁用日期字段,然后根据下拉字段启用/禁用。脚本根本没有做任何事情,我想知道是否有人能看到我做错了什么 <head> function formdisable(){ var myTextField = document.getElementById('searchby'); if(myTextField.value = "agencyname") document.searchform.Date1.disabled=true
<head>
function formdisable(){
var myTextField = document.getElementById('searchby');
if(myTextField.value = "agencyname")
document.searchform.Date1.disabled=true
document.searchform.Date2.disabled=true
document.searchform.agencyname.disabled=false
else
document.searchform.Date1.disabled=false
document.searchform.Date2.disabled=false
document.searchform.agencyname.disabled=true
}
onload = start;
</script>
</head>
<table>
<form id="searchform" name="searchform">
<tr>
<td>Search Term: </td><td><input tabindex="1" type="text" name="search" id="search1" value="" /></td>
</tr>
<tr><td>Search By:</td><td><select size="1" id="searchby" name="searchby" onclick="formdisable()" tabindex="2">
<option value="agencyname">Agency Name</option>
<option value="daterange">Date Range</option>
</select></td></tr>
<tr>
<td>Beginning Date: </td><td><input id="Date1" name="Date1" size="10" maxlength="10" value="<?php echo $_GET['Date1']?>"/> </td><td>Ending Date: </td><td><input id="Date2" name="Date2" size="10" maxlength="10" value="<?php echo $_GET['Date2'];?>" /> </td></tr>
<input type="hidden" id="wildcard" value="= 'Approved'" />
<input type="hidden" id="repid" value="<?php echo $_SESSION['REPID']; ?>" />
<tr><td><input tabindex="3" type='button' onclick='searchAgency()' name="searchsub" value='Search' /></td></tr></td>
</tr>
</form>
</table>
函数formdisable(){
var myTextField=document.getElementById('searchby');
if(myTextField.value=“agencyname”)
document.searchform.Date1.disabled=true
document.searchform.Date2.disabled=true
document.searchform.agencyname.disabled=false
其他的
document.searchform.Date1.disabled=false
document.searchform.Date2.disabled=false
document.searchform.agencyname.disabled=true
}
onload=启动;
搜索词:
搜索人:
机构名称
日期范围
开始日期:立即,我看到您的if/else
中缺少{}
,以及一个等式=
所属的作业=
:
if(myTextField.value = "agencyname")
document.searchform.Date1.disabled=true
document.searchform.Date2.disabled=true
document.searchform.agencyname.disabled=false
else
document.searchform.Date1.disabled=false
document.searchform.Date2.disabled=false
document.searchform.agencyname.disabled=true
应该是:
<script type='text/javascript>
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// Forgot the opening script tag
在原始版本中,您将agencyname
分配到myTextField.value
中的if()
条件。接下来是一堆部分执行的代码。赋值将成功,然后第一个(并且只有第一个)后续语句将作为if()
块的一部分执行。接下来的两个将在出现else
上的语法错误之前执行
您依赖于自动分号插入,这是JavaScript语言的一个危险(错误)特性,如果不小心使用。请始终使用终止您的声明代码>您缺少6个;两个}和一个{您还需要使用==而不是=
你应该读一本。我同意Michael的观点,但你也错过了开头的标签使用Firefox的Firebug插件、Chrome/Safari开发者工具或IE8/9开发者工具(F12)是非常必要的。控制台将在处捕获语法错误,否则
@savagnoob刚刚注意到您也丢失了开头的
标记
if(myTextField.value == "agencyname") {
//-------------^^^^^^^
// ==, not =
document.searchform.Date1.disabled=true;
// Please manually insert semicolons--^^^
document.searchform.Date2.disabled=true;
document.searchform.agencyname.disabled=false;
}
else {
document.searchform.Date1.disabled=false;
document.searchform.Date2.disabled=false;
document.searchform.agencyname.disabled=true;
}