Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用/启用表单字段的Javascript_Javascript - Fatal编程技术网

禁用/启用表单字段的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;
}