2012-02-24 2 views
0

내 페이지의 양식이 form1과 form2 인 두 가지 형태가 있습니다. 폼 하나가 제출 될 때 지금, 나는 양식 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

당신은 EnableViewstate = true 속성을 HiddenField 입력에 사용할 수 있습니다. – Jigs

답변

2

문제는 아마도 제출 함수가 true를 반환하기 때문에 브라우저가 양식을 게시하여 페이지를 다시로드하는 것일 수 있습니다. 따라서 두 번째 양식은 게시 할 때 비어 있습니다. 폼이 페이지를 다시로드하지 않게하려면 브라우저가 폼을 일반적인 방법으로 게시하는 것을 중단하려면 제출 함수가 false를 반환해야합니다. 이 경우 submit 함수에서 false를 반환하면 양식 게시가 모두 중단되므로 ajax를 통해 양식을 게시해야합니다.

게시 된 코드를 아래 코드로 바꾸고 첫 번째 양식을 제출 한 다음 두 번째 양식을 제출해보십시오. 두 번째 양식 제출이 비어있는 대신 실제 값을 알려주는 경우 문제의 원인을 찾았습니다.

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

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