0

入力タグの入力タイプを変更しようとしましたが、有効化機能と無効化機能は整数では機能せず、テキスト フィールドでのみ機能するようです。どうすれば修正できますか?

私の提出は明日で、私の検索コードは次のとおりです。

 <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>

前もって感謝します..

4

3 に答える 3

2

入力型「整数」はありません。HTML 4に従って、、、、、、、、、、およびのみtextがあります。password_ checkbox_ radio_ ほとんどのサイトでは、数字に「テキスト」を使用しています。この具体性の欠如は、JavaScript の本来の理由の 1 つです。数字を入力するテキスト フィールドに文字を入力する人を検出するため (および/または、送信する前にこれらの値を修正する必要があることを警告するため) です。submitresetfilehiddenimagebutton

HTML 5ではsearch、追加telの入力タイプが追加されましurlた。これにより、マークアップが読みやすくなり、開発者はクライアント側の検証の一部をブラウザーに任せることができます。emaildatetimedatemonthweektimedatetime-localrangecolor

現在推奨されている数値入力の方法は、 を使用することtype="number"です。HTML 5 以外の古いブラウザは不明な型を としてレンダリングするtype="text"ため、サポートが利用できなくても何も失われません。

フィールドを有効/無効にする正しい方法については、 「 jQuery - フォーム フィールドを無効にする」を参照してください。入力フィールドのタイプは関係ありません。jquery は適切な処理を行うほどスマートです。

于 2013-01-14T22:08:25.933 に答える
1

jquery のどのバージョンを使用していますか?

1.6 では、disabled プロパティを変更するには、.prop() 関数を使用する必要があります。

例えば$(this).prop('disabled', true);

于 2013-01-14T22:02:56.180 に答える
1

初めに。jquery の「ライブ」API は使用しないでください。廃止される予定です。http://api.jquery.com/live/

注:「オン」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());
     });

このコードは、数字だけでなく文字でも機能します。何か不足している場合はお知らせください。

于 2013-01-14T21:59:41.273 に答える