0

リストされたフィールド値を空にして、成功したら空にしたい。次のコードでは、url が呼び出されて値がページに渡され、そのページで値が取得され、mysql に挿入されるため、succees 関数では、値を取得するフィールドを空にする必要があります。

$('#datacouform').click(function() {
    var couname = $('#namecoun').attr('value');
    var coucode = $('#codecoun').attr('value');
    if ((couname === '') || (coucode === '')) {
        $('p#errorcou').show(200);
        return false;
    }
    else if ((!couname.match(/^[a-zA-Z]+$/)) || (!coucode.match(/^[a-zA-Z]+$/))) {
        $('p#errorcou').hide(20);
        $('p#errorcou').show(50);
        return false;
    } else {
        $('a#counloader').show();
        $.ajax({
            type: 'POST',
            url: 'adddata.php',
            data: 'counname=' + couname + '&councode=' + coucode,
            success: function() {
                $('a#counloader').hide();
                $('#addcountryform').hide(400);
                $('#addcountry').show(400);
            }
        });
        return false;
    }
});​
4

5 に答える 5

1

要素の値を取得するために、他の人がすでに言ったことを反映するには、実際には val() 関数を使用する必要があります。

$('#namecoun').val();  //get the value of the element

次に、.val() に引数を指定すると、要素の値を (取得するのではなく) 設定します。

$('#namecoun').val(''); // set (empty) the value of the element

jQuery で POST を行うためのより良い方法もあります。すなわち

$.post({
    url: "adddata.php",
    data: { counname : counname,
            councode : coucode },
    success: function(){
        $('#namecoun').val('');
        /* and so on... */
    }
});

これは、行ったことへの単なる近道ですが、そのような方法でデータを渡すことで、文字列操作を節約できます。または、シリアル化機能を使用します。

また、false を返さないでください。これは悪い習慣であり、複数のことを行うだけでなく、他の誰かのコードを保守していて、表示されるすべてが「false を返す」場合に混乱を招く可能性があります。正しいイベントが発生した場合でも。あなたが探しているのは preventdefault です。このような..

$('#example').click( function(e){
    /* code here */
    e.preventDefault();
});

false を返さない理由の詳細については、こちらを参照してください。

于 2012-06-25T16:51:31.047 に答える
0

これでテキスト入力値をクリアできます:

$('#inputId').val('');
于 2012-06-25T16:19:19.680 に答える
0

これは値を取得する方が良いです

var couname = $('#namecoun').val();
var coucode = $('#codecoun').val();

これらの入力を空にするには、これらの行をsuccessコールバック関数内に配置します。

$('#namecoun').val('');
$('#codecoun').val('');
于 2012-06-25T16:19:50.710 に答える
0

あなたが使用している必要があります

var couname = $('#namecoun').val();

入力要素の値を取得するときに一貫した結果を得るために。次に、値を設定する場合は、単に使用します

$('#namecoun').val('')
于 2012-06-25T16:20:04.173 に答える
0

「#namecoun」と「#codecoun」は単なる入力であると仮定して、提供されたコード スニペットにいくつかの調整を加えました。次のことを試してください。

$('#datacouform').click(function() {
    var couname = $('#namecoun').val();
    var coucode = $('#codecoun').val();
    if ((couname.length == 0) || (coucode.length == 0)) {
        $('p#errorcou').show(200);
    } else if ((!couname.match(/^[a-zA-Z]+$/)) || (!coucode.match(/^[a-zA-Z]+$/))) {
        $('p#errorcou').hide(20);
        $('p#errorcou').show(50);
    } else {
        $('a#counloader').show();
        $.ajax({
            type: 'POST',
            url: 'adddata.php',
            data: 'counname=' + couname + '&councode=' + coucode,
            success: function() {
                //RESET VALUES TO EMPTY
                $('#namecoun').val('');
                $('#codecoun').val('');
                $('a#counloader').hide();
                $('#addcountryform').hide(400);
                $('#addcountry').show(400);
            }
        });
    }
});

".attr('value')" を使用して入力の値を取得する代わりに、値を文字列として返す jQuery .val() を使用しました。次に、「.length」を使用して、値が空かどうかを確認しました。暗示されているように、返品を削除しました。同じ .val() 関数を使用して、.val('value') のようにパラメーターに文字列を配置することで、これらの入力に値を割り当てることができます。この場合、フィールドを空にしたいので、空の文字列 .val('') を指定しました

それが役立つことを願っています。

于 2012-06-25T16:26:54.477 に答える