启用和禁用功能只工作在文本输入类型,建议



我尝试改变输入标签的输入类型,但启用和禁用功能似乎不能在整数上工作,只能在文本字段上工作。我怎样才能解决这个问题呢?

我的提交是明天,这是我的搜索代码:

 <script type="text/javascript">
            $('#exactButton').live('click', function(){
                $(this).prev().prev().prev().prev().prev().removeAttr('disabled');
                $(this).prev().prev().prev().attr('disabled',true);
                $(this).prev().prev().prev().prev().attr('disabled',true); 
            });
            $('#rangeButton').live('click',function(){
                $(this).prev().prev().removeAttr('disabled');
                $(this).prev().prev().prev().removeAttr('disabled');
                $(this).prev().prev().prev().prev().attr('disabled',true);
            });
        })
    </script>
这是我的HTML代码:
 <button id="button">Add List</button><br><br>
        <form id ="form" name="search" method="get" action="test.php">
            <div id="div">
                <select name ="select" >
                    ...options...
                </select>
                Value:<input type="text" name="exact" id="exactField" />
                From: <input type="text" name="from" id="fromField" />
                To: <input type="text" name="to" id="toField" />
                <br>
                <input type="button" name="answer" value="Range" id="rangeButton" />
                <input type="button" name="answer" value="Exact" id="exactButton" />
            </div>
            <br>
            <input type="submit"name="search" value="Submit">
        </form>

没有输入类型"integer"。根据HTML 4,只有text, password, checkbox, radio, submit, reset, file, hidden, imagebutton。大多数网站使用"文本"表示数字;这种缺乏特异性是JavaScript的原始原因之一:检测人们将字母输入到用于数字的文本字段中(和/或警告他们在提交之前需要修复这些值)。

在HTML 5中,增加了额外的输入类型:searchtelurlemaildatetimedatemonthweektimedatetime-localrangecolor现在可用;这使得标记更具可读性,并允许开发人员将一些客户端验证留给浏览器。

目前推荐的数字输入方式是使用type="number"。较旧的非HTML 5浏览器将未知类型呈现为type="text",因此当不支持时没有任何损失。

请参阅jQuery -禁用表单字段,了解启用/禁用字段的正确方法。输入字段的类型无关紧要——jquery足够聪明,可以为您做正确的事情。

首先。不要使用jquery的"live"api,它将被弃用。http://api.jquery.com/live/

注意:"on"api需要最新的jquery。

你想做这个吗

HTML

更新

        <button id="button">Add List</button><br><br>
          <form id ="form" name="search" method="get" action="test.php">
           <div id="maindiv">
             <div id="div">
            <select name ="select" >
                ...options...
            </select>
            Value:<input type="text" name="exact" id="exactField" />
            From: <input type="text" name="from" id="fromField" />
            To: <input type="text" name="to" id="toField" />
              </div>
            </div>
            <br>
            <input type="button" name="answer" value="Range" id="rangeButton" />
            <input type="button" name="answer" value="Exact" id="exactButton" />
        <br>
        <input type="submit"name="search" value="Submit">
    </form> 

更新javascript
           // When exact button is clicked, disable from and exact field and enable exactfield text field
    $(document).live('click','#exactButton', function(){
        $('#exactField').removeAttr('disabled');
        $('#fromField,#toField').attr('disabled',true);
    });
    // When range button is clicked, enable from and exact field and disable exactfield option
    $(document).on('click','#rangeButton',function(){
        $('#fromField,#toField').removeAttr('disabled');
        $('#exactField"]').attr('disabled',true);
    });
    $('#button').click(function(){
       $('#maindiv').append($('#div').clone());
     });

这段代码为我工作与数字以及字符。如果我错过了什么,请告诉我。

您使用的是什么版本的jquery ?

无论如何,在1.6中,要更改disabled属性,你应该使用.prop()函数。

e。g $(this).prop('disabled', true);

相关内容

  • 没有找到相关文章

最新更新