페이지에 3 개의 양식이 있습니다. 각 파일에는 파일을 포함한 여러 입력이 있습니다. 마지막 폼을 제출할 때 세 폼의 입력이 모두 액션 위치의 POST 데이터로 보내지기를 바랍니다. 필요한 경우 jQuery를 사용할 수 있습니다.여러 페이지를 동일한 페이지로 제출
답변
유일한 옵션은 jQuery AJAX 요청 (또는 XMLHTTP의 요청이지만 권장하지 않음)입니다.
디자인을 다시 생각해보십시오. 즉, 한 페이지에 3 개의 양식이 필요한 이유는 무엇입니까? ... 저 역시 이미 'formy'입니다.
당신은 아마 할 수있는 뭔가가있다 ... 하나 개의 형태 안에 jQuery를 UI 대화 상자 컨테이너 사업부를 넣어 (이것은 내가 추측, 작동합니다)와 단지 내에서 필드가
당신이 그들을 제출 할 수는 숨겨진 Iframe에 호스트 페이지의 제어를 유지합니다.
세 가지 양식을 모두 제출하는 하나의 JS 함수를 작성할 수 있습니다.
다음은 여러 양식을 하나로 결합하는 방법입니다. 이제 경고 : 파일 형식 입력이있는 양식이 두 개 이상있는 경우 문제를 해결할 수 없습니다. 브라우저는 XMLHttpRequest (예 : Ajax)를 사용하여 파일 입력이있는 다중 파트 양식 POST를 게시 할 수 없습니다. Javascript로 파일 입력 요소의 값을 설정할 수 없으므로 파일 입력이있는 새 양식을 작성할 수도 없습니다. 따라서 이것이 작동 할 수있는 유일한 방법은 여러 개의 (3 개) 형식이 있고 그 중 오직 하나만 파일 입력이있는 경우입니다. 이 경우 다른 두 양식의 모든 (파일이 아닌) 입력을 다른 양식으로 가져온 다음 제출하십시오.
function whenFormsCollide() {
// pass in one or more form elements
var forms = $.makeArray(arguments);
var hasFiles = 0, targetForm = null;
$.each(forms, function(i, f) {
if ($(f).find('input:file').length > 0) {
++hasFiles;
targetForm = f;
}
});
if (hasFiles > 1) throw "More than one form has 'file' inputs";
targetForm = targetForm || forms[0];
$.each(forms, function(i, f) {
if (f === targetForm) continue;
$(f).find('input, select, textarea')
.appendTo($(targetForm));
});
$(targetForm).submit();
}
나는 것을 테스트하지 않은,하지만 난 그것을 여러 번 같은 물건을 해봤 나는 <form>
요소를 구축하는 것은 심지어 IE6에서는 잘 작동 것을 알고있다. (IE에는 때로는 양식 필드에 이상한 문제가 있지만이 부분은 괜찮을 것이라고 생각합니다. 최악의 경우 "appendTo"호출로 필드를 "옮길"수있는 대신에 이름과 이름을 복사해야합니다. 값을 입력하고 새로운 양식 필드를 만드십시오.)
정보를 다른 형태로 구분하고 나중에 JS와 정보를 결합 할 수 있습니까? 그리고 Java Script가 비활성화되면 수식이 작동하지 않습니까? 모두 하나의 형식으로 작성하십시오. 양식의 특수 데이터 필드 만 평가하려면 제출 단추가 눌려진 서버 측을 선택하십시오.
정상적인 통신 문제를 해결하기 위해 JS가 필요하면 문제가 생길 수 있습니다. JS는 사용자 정의하고 더 나은 UI를 제공하는 데 도움을 줄 수 있지만이 문제는 쓸모가 없습니다.
아래 코드를 사용하여 내 웹 사이트에서 두 가지 양식 데이터를 제출했습니다.
생각
당신이 여러 형태의 데이터이serialize
를 사용하여 해당 데이터를 결합하고
$.ajax
기능의
data
매개 변수에 그 균등하게 얻을 수 있다는 것입니다.
.
// submits two forms simultaneously
function submit_forms(form1_id, form2_id)
{
var frm1_name = $("#" + form1_id).attr('name');
var frm2_name = $("#" + form2_id).attr('name');
if (frm1_name == frm2_name)
{
alert('The two forms can not have the same name !!');
}
else
{
var frm1_data = $("#" + form1_id).serialize();
var frm2_data = $("#" + form2_id).serialize();
if (frm1_data && frm2_data)
{
$("#div_busy").html('<strong>Processing...</strong><br /><img id="busy" src="./images/progress_bar.gif" border="0" style="display:none;" />');
$("#busy").fadeIn('slow');
$.ajax(
{
type: "POST",
url: "process_sticker_request.php",
data: frm1_data + "&" + frm2_data,
cache: false,
error: function()
{
$("#busy").hide('slow');
$("#div_busy").css({'color':'#ff0000', 'font-weight':'bold'});
$("#div_busy").html('Request Error!!');
},
success: function(response)
{
$("#div_busy").hide('slow');
$("#hdnFormsData").html(response);
// open popup now with retrieved data
window.open('', 'popup2', 'toolbars = 1, resizable=1, scrollbars=1, menubar=1');
document.getElementById("prt").action = 'win_sticker.php';
document.getElementById("prt").target = 'popup2';
document.getElementById("prt").submit();
// reset the action of the form
document.getElementById("prt").action = 'list_preview.php';
}
});
}
else
{
alert('Could not submit the forms !!');
}
}
}
- 1. 제출 버튼을 클릭하여 JSP 페이지를 다른 페이지로 이동하는 방법은 무엇입니까?
- 2. 여러 개의 링크가 동일한 페이지로 이동하지만 기능을 분리합니다.
- 3. 다른 페이지를 한 페이지로 리디렉션
- 4. C#을 사용한 코드 숨겨진 페이지로 제출
- 5. jQuery에서 여러 양식 게시/제출
- 6. 동일한 페이지에서 Jquery stop 양식 제출
- 7. 컬을 사용하여 외부 웹 페이지로 양식 제출
- 8. 아약스를 사용하여 동일한 버튼 클릭으로 여러 폼 제출
- 9. J2ME에서 여러 페이지로 연결
- 10. 여러 양식 제출 페이지 Referesh PHP
- 11. 리디렉션 대신 페이지로 출력 양식 제출
- 12. 양식 제출 - 다른 페이지로 변수 보내기
- 13. 여러 레코드 중첩없이 제출
- 14. Jquery 여러 링크 제출
- 15. jquery 여러 양식 제출
- 16. 작은 페이지로 페이지를 분할하는 좋은 방법
- 17. 동일한 페이지를 제공하는 여러 개의 Facebook Like 버튼
- 18. 동일한 세션에서 여러 WebRequest
- 19. ASP.Net MVC - 동일한 값을 가진 버튼 제출
- 20. Jquery 여러 페이지로 구성된 여러 확인란
- 21. jQuery에서 window.location을 사용하여 동일한 페이지를 어떻게 다시로드합니까?
- 22. 특정 페이지로 연결되는 웹 페이지를 찾는 방법?
- 23. html 페이지를 wml 페이지로 변환하는 방법
- 24. 동적 페이지를 다른 폴더의 동적 페이지로 리디렉션
- 25. aspx 페이지를 HTML 페이지로 다운로드하여 저장하십시오.
- 26. 한 페이지를 다른 페이지로 이동 하시겠습니까? - JQuerymobile
- 27. 내 MVC2 홈 페이지를 다른 페이지로 변경해야합니다.
- 28. POST를 사용하여 페이지를 다른 페이지로 리다이렉트
- 29. jQTouch의 전체 페이지를 다른 페이지로 바꾸는 방법
- 30. 누락 된 페이지를 새 페이지로 리디렉션
최종 전에 다른 양식이 제출 되었습니까? –
아니요, 한 번에 모두 제출하고 싶습니다. – Brian
복제 : http://stackoverflow.com/questions/2362251/jquery-submit-multiple-forms/ –