3

jQuery-ajax を使用してフォームを投稿しようとしていますが、クリック時にフォームを投稿するとこのエラーが発生します。 TypeError: Value does not implement interface HTMLInputElement ここに私のJavaScriptコードがあります:

 $('document').ready(function () {
    $('#update').click(function () {
        jQuery.post("update_category", {
            c_id: c_id,
            c_name: c_name,
            c_description: c_description
        },

        function (data, textStatus) {
            if (data == 1) {
                $('#response').html("Thank You!!..We Will Get Back To You Soon..!!");
                $('#response').css('color', 'green');
            } else {
                $('#response').html("Some Error Occurred");
                $('#response').css('color', 'red');
            }
        });
    });
});

私のフォーム:

<div id="form">
    <form>
    <!-- PRONT DROP DOWN HERE !-->
        <input type="text" name="c_id" id="c_id" disabled="disble" placeholder="'.strtoupper($r['c_id']).'" value="'.strtoupper($r['c_id']).'" ></input>
        <input type="text" name="c_name" id="c_name" disabled="disble" placeholder="'.strtoupper($r['c_name']).'" value="'.strtoupper($r['c_name']).'"></input>
        <textarea rows="4" class="field span10" name="c_description" id="c_description"  disabled="disble" placeholder="Description">'.strtoupper($r['c_description']).'</textarea>

    </form> 
</div>
4

5 に答える 5

18

このエラーは、ajax リクエストで jQuery オブジェクトを送信した場合に発生する可能性があります。したがって、あなたの状況ではc_id、 、c_name、またはのいずれかが、入力要素の値ではc_descriptionなく、入力フィールドを表す jQuery オブジェクトである可能性があります。.val()

于 2013-09-20T20:41:37.617 に答える
0

以下のコードを確認してください。コードに id="response" の span または div がなく、jquery.post を $.post に置き換えます。ファイル名 update_category に拡張子を付けます

<html>
    <head>
        <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
        <script type="text/javascript">
        $('document').ready(function(){
            var c_id = '1', c_name = 'test', c_description = 'testing';
            $('#update').click(function(){
                $.post("update_category.php", {
                    c_id:c_id,
                    c_name: c_name,
                    c_description: c_description                                       
                    }, function(data){
                        if(data == 1){
                            $('#response').html("Thank You!!..We Will Get Back To You Soon..!!");
                            $('#response').css('color','green');
                        }
                        else
                        {
                            $('#response').html("Some Error Occurred");
                            $('#response').css('color','red');
                        }
                });
            });
        });
        </script>
    </head>
<body>
    <div id="form">
        <form>
            <!-- PRONT DROP DOWN HERE !-->
            <input type="text" name="c_id" id="c_id" placeholder="" value="" />
            <input type="text" name="c_name" id="c_name" placeholder="" value="" />
            <textarea rows="4" class="field span10" name="c_description" id="c_description"  placeholder="Description"></textarea>
            <input type="button" id="update" value="Update" />
            <span id="response"></span> <!-- This is missing in your form -->
        </form> 
    </div>
</body>
</html>
于 2013-07-31T13:01:04.480 に答える