2012-02-24 11 views
0

マイページには2つのフォームform1とform2があります。フォーム1が送信されたときに、今、私は、フォーム2で隠しフィールドの値を設定しています:私はsencondフォームを提出していたときに、データが正しく表示されるが、最初の警告でHTML/JQuery複数フォームの問題

$('#form1').submit(function(){ 
    $("#hiddenfield").val($(this).serialize()) ; 
    alert($("#hiddenfield").val()); 
    return true; 
    }); 

$('#form2').submit(function(){ 
    alert($("#hiddenfield").val()); 
    return true; 
    }); 

、値が空であります。何が問題なのでしょうか?

+2

最初のフォームを送信した後にページがリロードされる可能性がありますか? –

+2

最初のフォームを送信した後はどうなりますか?あなたはまだ同じページにいますか? – fcalderan

+0

は、HiddenField入力でEnableViewstate = trueプロパティを使用するだけかもしれません。 – Jigs

答えて

2

問題は、送信機能がtrueを返すため、ブラウザがフォームを送信してページを再読み込みすることが原因である可能性があります。したがって、2番目のフォームは投稿すると空になります。フォームがページをリロードしないようにするには、ブラウザがフォームを通常の方法で投稿しないようにするには、サブミット関数がfalseを返す必要があります。その場合は、もちろん、submit関数からfalseを返すとフォームの投稿をすべて停止するので、フォームをajaxでポストする必要があります。

以下のコードで投稿したコードを置き換えて、最初のフォームを送信してから2番目のフォームを送信して、問題が解決したかどうかを確認できます。 2番目のフォーム送信が空ではなく実際の値を通知する場合、問題の原因が見つかりました:

$('#form1').submit(function(){ 
    $("#hiddenfield").val($(this).serialize()) ; 
    alert($("#hiddenfield").val()); 
    return false; 
    }); 

$('#form2').submit(function(){ 
    alert($("#hiddenfield").val()); 
    return false; 
    });