2013-03-29 1 views
1

내 페이지 디자인은 단 한 번의 클릭으로 제출 한 다음 데이터베이스와 부절로 저장하는 두 가지 양식을 사용해야하는 것과 같습니다. Struts2 프레임 워크가있는 JSP 페이지에서 이것을 사용하고 있습니다. Ajax 솔루션을 시도했지만 저를 위해 작동하지 않습니다.Ajax와 함께 단일 제출 버튼을 사용하여 JSP로 두 개의 HTML 양식 제출

$("#visitType").buttonset(); 
$("#patientCondition").buttonset(); 
$("input[type=submit], a, button").button().click(function(event) { 
    event.preventDefault(); 
    var inputs=$('#visitType,#patientCondition ').find(':input').not(this); 
    var form_data={}; 
    inputs.each(function(){ 
    form_data[this.name]=$(this).val(); 
    }); 
    $.post('patientSoapAll', form_data, function(response){ 
    }); 
}); 

내 유치원 1 :

<s:form action="PatientSoapAll" method="post"> 

     <div id="visitType"> 
      <input type="radio" id="I" value="I" <s:if test='pSB.rOS == "I"'>checked</s:if> name="pSB.rOS" /><label for="I">I V</label> 
      <input type="radio" id="R" value="R"<s:if test='pSB.rOS == "R"'>checked</s:if>name="pSB.rOS" /><label for="R">Regular Visit</label> 
      <input type="radio" id="P/N" <s:if test='pSB.rOS == "P/N"'>checked</s:if>name="pSB.rOS" /><label for="D/N">Re- Evaluation</label> 
      <input type="radio" id="D/N"<s:if test='pSB.rOS == "D/N"'>checked</s:if> name="pSB.rOS" /><label for=" 

    P/N">Discharge</label> 
    </div> 
</s:form> 

내 Form2를 :

<s:form action="PatientSoapAll" method="post"> 

    <div id="patientCondition"> 
     <input type="radio" id="new" value="n"<s:if test='pSB.r2 == "n"'>checked</s:if> name="pSB.r2" /> <label for="new">New</label> 
     <input type="radio" id="noChange" value="nC" <s:if test='pSB.r2 == "nC"'>checked</s:if> name="pSB.r2" /><label for="noChange">No Change</label> 
     <input type="radio" id="progressing" value="p"<s:if test='pSB.r2 == "p"'>checked</s:if> name="pSB.r2" /><label for="progressing">Progressing</label> 
     <input type="radio" id="notProgressing" value="nP" <s:if test='pSB.r2 == "nP"'>checked</s:if> name="pSB.r2" /><label for="notProgressing">Not Progressing</label> 
    </div> 
</s:form> 

여기

내 스크립트 ( 업데이트])입니다 이것은 내 제출 된 버튼입니다. Div에서 제거되고 테이블 안쪽에 배치되었습니다.

<tr> 
    <td></td> 
    <td><input type="submit" value="Save Note" /></td> 
</tr> 

나는 스트럿츠 2를 사용하고 있는데, 나는 정의의 수도 있었죠의 확장 대신에 (기본적으로) .action을 사용하고이 액션 patientSoapAll에 버튼을 제출 리디렉션 할. 이 제출 버튼을 struts2의 해당 조치 클래스로 리디렉션 할 수있는 방법을 알려주십시오.

+1

당신은 –

+0

WTQ를 제출 배가 할 수 없습니다

submitForms = function() { $('#form2 :input').not(':submit').clone().hide().appendTo('#form1'); document.getElementById("form1").submit(); }; 

버튼을 제출? 왜 두 가지 양식을 제출해야합니까? –

+0

@RomanC : 페이지의 맨 위에 다른 세부 정보를 사용해야하는 표시 패턴과 jquery 탭 안에있는 다른 부분이 있으므로 또한 다양한 탭이 있으며 각 선택에 따라 다른 조합이 생깁니다. 탭 중 하나에서 선택한 것과 같은 항목을 선택하면 특별한 데이터베이스 항목이 나에게 표시됩니다. 희망은 지금 분명하다. – anshulankush

답변

1

쉬운 해결책을 찾았습니다.

자바 스크립트 :

<input type="button" value="Save Note" onclick="submitForms()" /> 
1

jQuery .serialize을 사용하여 원하는 것을 할 수 있습니다. 폼에 클래스를 추가 한 다음 폼을 선택하고 serialize를 호출하여 표준 URL 인코딩 표기법으로 문자열을 가져옵니다. 그런 다음 AJAX 메서드를 사용하여 작업에 게시 할 수 있습니다.

$(function() { 
    $("#saveNoteButton").click(function() { 
    alert($(".forms").serialize()); 
    }); 
}); 
+0

도움을 주셔서 감사합니다. – anshulankush

+0

@ user3629339 : 왜 안되나요? 어서 시도해보십시오. –

1
여러 형태의

<sj:submit formIds="visitType,patientCondition" targets="result" value="Submit" /> 

formIds 제출 Struts2 jQuery를 사용할 수 있습니다

: 쉼표가이 요소 제출시 모든 필드를 직렬화하기위한 형식 ID의 목록을 구분

(여러 폼에 겹쳐진 요소 이름이있는 경우 사용되지 않을 것임)

+0

은'sj' 도장 태그입니까? – anshulankush

+0

아니요, [Struts2 jQuery plugin] (http://code.google.com/p/struts2-jquery/)입니다.이 플러그인은 struts2의 공식 ajax 지원 플러그인입니다. –

+0

나는 이것을 시도했지만 아무 것도 일어나지 않고있다.이 제출 버튼을 클릭하면 아무런 반응이 없다. – anshulankush