Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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 使用jQuery禁用输入文本框类型=";文件";_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jQuery禁用输入文本框类型=";文件";

Javascript 使用jQuery禁用输入文本框类型=";文件";,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试禁用用于上载图像的带有type=“file”的HTML输入标记。我正在使用收音机选项指示是或否。如果用户单击否,则应禁用输入文本框。这是我使用的代码,但我不知道我做错了什么 $('#InputTrib')。更改(函数(){ $('#images').prop('disabled',false); }); $('#InputAttribute').change(函数(){ $('#images').prop('disabled',true); }); 说明付款方式: 对 不 上传您的

我正在尝试禁用用于上载图像的带有
type=“file”
的HTML输入标记。我正在使用收音机选项指示是或否。如果用户单击否,则应禁用输入文本框。这是我使用的代码,但我不知道我做错了什么

$('#InputTrib')。更改(函数(){
$('#images').prop('disabled',false);
});
$('#InputAttribute').change(函数(){
$('#images').prop('disabled',true);
});

说明付款方式:

对 不 上传您的付款凭证:仅适用于银行存款
主要问题是
类型
属性。您有
type=“javascript/text”
这是不允许它工作的

请注意,您使用了
type=“text”
。你是说,
type=“file”

确保
assets/js/jquery-1.11.1.min.js
位于正确的位置

此外,没有与选择器匹配的元素。这就是它不起作用的原因。您需要使用以下各项:

<html>
  <head>
    <script src="https://code.jquery.com/jquery-2.2.4.js"></script>
    <title>test</title>
  </head>
  <body>
    <div class="form-group" style="">
      <p> Indicate Payment Method:</p>
      <input id ="inptrue" type="radio" name="pmethod" value="Yes">Yes<br />
      <input id="inpfalse" type="radio" name="pmethod" value="No">No;
    </div>

    <div class="form-group">
      <label for="file">Upload your Payment Evidence: <i>for Bank Deposit only</i></label>
      <input id="images" type="text" name="file" class="form-first-name form-control" />
    </div>  
    <script>
   $('#inptrue').click(function() {
      $('#images').prop('disabled', false);
    });
    $('#inpfalse').click(function() {
      $('#images').prop('disabled', true);
    });
    </script>
  </body>
</html> 

您的代码是正确的,您只需从脚本标记中删除
type
,或者将其改为
type=“text/javascript”

如果您将事件按名称分配一次,并使用值作为条件,而不是添加两个事件,则效果会更好:

$('[name="pmethod"]').change(function() {
    if($(this).val()=="Yes")
       $('#images').removeAttr('disabled');
    else
       $('#images').attr('disabled','disabled');
});
希望这有帮助


$('[name=“pmethod”]')。更改(函数(){
如果($(this.val()=“是”)
$(“#图像”).removeAttr('disabled');
其他的
$('#images').attr('disabled','disabled');
});

说明付款方式:

对 不 上传您的付款凭证:仅适用于银行存款
它的类型不是file
什么是
#inputattrib
?@Mohammad你已经完全破坏了这个问题,伙计。你忘了告诉type属性,这是主要问题之一,JavaScript没有执行。嘿,好的一个:它现在工作得很好。这里有人回答了帮助我的代码:非常感谢您解决了我的问题:这是您发送的代码,可以使用:$('[name=“pmethod”]').change(function(){if($(this.val()==“Yes”)$('#images').removeAttr('disabled');else$('#images').attr('disabled','disabled');})@用户3418506使用
prop
更好,正如您已经使用的那样。@ZakariaAcharki我想OP使用的是旧的jQuery。你怎么认为?
$('[name="pmethod"]').change(function() {
    if($(this).val()=="Yes")
       $('#images').removeAttr('disabled');
    else
       $('#images').attr('disabled','disabled');
});