-1

「passedThisValue」を「start_battle」関数に渡し、「再戦」で「start_battle」関数を使用したいと考えています。しかし、モーダルがハングするだけです なぜこれが起こっているのですか? 何が間違っている可能性がありますか?助けてください!:) ありがとうございました。

コード:

function start_battle(){
    $.ajax({
        data: {
            receivePassedValue: passedThisValue
        },
        success: function(data){

        }
    });
}
$("#start_battle").click(function() {
    $.ajax({
        success: function(data){
            var toAppend = '';
            if(typeof data === "object"){
                var passedThisValue = '';
                for(var i=0;i<data.length;i++){
                    passedThisValue = data[i]['thisValue']; 
                }

                start_battle(); // can I still get the passedThisValue?

            }
        }
    });
    $("#battle").dialog({
        modal:true,
        buttons: {
            "Rematch": function(){
                start_battle(); // can I still get the passedThisValue?
            }
        }
    });
    $("#battle").show(500);
});
4

2 に答える 2

2

関数を呼び出すときは、 を使用せずfunction start_battle();、 を使用するだけstart_battle();です。

関数に値を渡すときは、次の構文を使用する必要がありますstart_battle(param1, param2);

関数から値を取得したい場合は、次のように関数で値を返す必要があります。

function start_battle(param1) {
    // Do something
    return param1;
}

関数からの戻り値を格納する場合は、次のようにします。var returned = start_battle(param1);

また、モーダルがハングする理由がわからないということは、ブラウザーのエラー コンソールをチェックしていないということです。現在の問題を確認できるように、それを確認してここに投稿してみてください

于 2012-09-16T19:29:30.353 に答える
1

あなたの関数宣言は少しずれているようです。$fromはやめたほうがいいと思いますfunction。これをするだけ

function start_battle() {

また、関数を呼び出すときは、その前に言いませんfunction。また、関数に値を渡したい場合は、関数を定義するときと呼び出すときの両方で、括弧内に値を入れる必要があります。このような

function start_battle(someValue) {
    // do some stuff with someValue
}

// inside your .click, call start_battle like this
start_battle(passedThisValue);

かなり基本的なもの。しかし、これらの問題のいずれかがハングの原因である可能性があり、これはおそらく JavaScript エラーでした。

于 2012-09-16T19:28:07.390 に答える