답변:
양식을 정상적으로 제출하는지 또는 AJAX 호출을 통해 제출하는지에 따라 다릅니다. jquery.com 에서 예제가 포함 된 설명서를 포함하여 많은 정보를 찾을 수 있습니다 . 양식을 정상적으로 제출하려면 submit()해당 사이트에서 방법을 확인 하십시오. 들어 AJAX 당신은 아마 중 하나를 사용할 불구하고, 여러 가지 가능성이있다 ajax()또는 post()방법을. 참고 post()단지 편리한 방법 정말이 호출 ajax()A, 단순화 및 제한 인터페이스 방법.
내가 매일 사용하는 중요한 리소스는 북마크해야하는 jQuery 작동 방식입니다. 입니다. jQuery 사용에 대한 자습서가 있으며 왼쪽 탐색을 통해 모든 설명서에 액세스 할 수 있습니다.
예 :
표준
$('form#myForm').submit();
아약스
$('input#submitButton').click( function() {
$.post( 'some-url', $('form#myForm').serialize(), function(data) {
// ... do something with response from server
},
'json' // I expect a JSON response
);
});
$('input#submitButton').click( function() {
$.ajax({
url: 'some-url',
type: 'post',
dataType: 'json',
data: $('form#myForm').serialize(),
success: function(data) {
// ... do something with the data...
}
});
});
위 의 ajax()및 post()방법은 동일합니다. ajax()오류 등을 처리 하기 위해 요청에 추가 할 수있는 추가 매개 변수가 있습니다 .
$('form#MyForm').serialize() + '&newData=' + newData + '&moreData=' + moreData. 참고 : 후자 두 개를 사용하여 URL 인코딩해야 할 수도 있습니다 encodeURIComponent(). 또는 양쪽 끝에서 JSON 인코딩을 사용하도록 변경할 수 있지만 추가 데이터와 함께 양식 데이터를 JavaScript 데이터 구조에 넣고 직렬화해야합니다. 이 경우 serializeArray양식을 사용하고 다른 데이터를 병합 할 수 있습니다.
를 사용해야 $("#formId").submit()합니다.
일반적으로 함수 내에서 이것을 호출합니다.
예를 들면 다음과 같습니다.
<input type='button' value='Submit form' onClick='submitDetailsForm()' />
<script language="javascript" type="text/javascript">
function submitDetailsForm() {
$("#formId").submit();
}
</script>
Jquery 웹 사이트 에서 이에 대한 자세한 정보를 얻을 수 있습니다 .
기존 양식이 있으면 이제 jquery와 함께 작동해야합니다. 이제 ajax / post를 사용하십시오.
자신의 일을
$(function() {
//hang on event of form with id=myform
$("#myform").submit(function(e) {
//prevent Default functionality
e.preventDefault();
//get the action-url of the form
var actionurl = e.currentTarget.action;
//do your own request an handle the results
$.ajax({
url: actionurl,
type: 'post',
dataType: 'application/json',
data: $("#myform").serialize(),
success: function(data) {
... do something with the data...
}
});
});
});위해서는, 유의하시기 바랍니다 serialize()위의 예에서 일할 기능, 모든 양식 요소는 한 필요 name속성이 정의.
양식의 예 :
<form id="myform" method="post" action="http://example.com/do_recieve_request">
<input type="text" size="20" value="default value" name="my_input_field">
..
.
</form>
@PtF-이 샘플에서 POST를 사용하여 데이터가 제출되므로, 다음을 통해 데이터에 액세스 할 수 있습니다.
$_POST['dataproperty1']
여기서 dataproperty1은 json의 "변수 이름"입니다.
CodeIgniter를 사용하는 경우 샘플 구문은 다음과 같습니다.
$pdata = $this->input->post();
$prop1 = $pdata['prop1'];
$prop1 = $pdata['prop2'];
jQuery에서는 다음을 선호합니다.
$("#form-id").submit()
그러나 다시 한 번, 해당 작업을 수행하기 위해 jQuery가 필요하지 않습니다. 일반 JavaScript 만 사용하십시오.
document.getElementById("form-id").submit()
매뉴얼에서 : jQuery Doc
$("form:first").submit();
누군가가 사용하는 경우 정보
$('#formId').submit();
이런 식으로하지 마십시오
<button name = "submit">
submit ()이 이렇게 작동하지 않는다는 것을 알게 되려면 많은 시간이 걸렸습니다.
"sumit"의 오타는 오타가 의도하지 않았거나 문제와 관련이 있는지 확실하지 않습니다. "submit"jquery 양식 submit ()을 엉망으로 만드는 버튼을 의미 합니까? 또는 문제가 표준 대신 버튼 이름을 제출 했다는 의미 type="submit"입니까?
jquery를 사용하여 양식을 제출할 때 사용하십시오. 여기 링크 http://api.jquery.com/submit/
<form id="form" method="post" action="#">
<input type="text" id="input">
<input type="button" id="button" value="Submit">
</form>
<script type="text/javascript">
$(document).ready(function () {
$( "#button" ).click(function() {
$( "#form" ).submit();
});
});
</script>
button양식이 제출되지 않도록 버튼에 유형 을 추가하는 것이 좋습니다 (모든 브라우저가 유형이없는 버튼을 동일한 방식으로 처리하는 것은 아닙니다).
이것은 프리 로더와 함께 폼을 전송합니다 :
var a=$('#yourform').serialize();
$.ajax({
type:'post',
url:'receiver url',
data:a,
beforeSend:function(){
launchpreloader();
},
complete:function(){
stopPreloader();
},
success:function(result){
alert(result);
}
});
임의의 방법으로 http://www.jackart4.com/article.html 을 사용하여 양식 데이터 게시물을 수정하는 방법이 있습니다 .
$("form:first").submit();
events / submit을 참조하십시오 .
양식에 제출 이벤트 리스너를 이미 설치 한 경우, innner 호출 submit ()
jQuery('#<form-id>').submit( function(e){
e.preventDefault();
// maybe some validation in here
if ( <form-is-valid> ) jQuery('#<form-id>').submit();
});
이 양식의 제출 이벤트에 대해 새 이벤트 리스너를 설치하려고하면 작동 하지 않습니다 (실패). 따라서 HTML 요소 자체 (jQquery에서 랩 해제)에 액세스 하고이 요소에서 직접 submit ()을 호출해야합니다.
jQuery('#<form-id>').submit( function(e){
e.preventDefault();
// note the [0] array access:
if ( <form-is-valid> ) jQuery('#<form-id>')[0].submit();
});
jquery 양식 플러그인을 사용하여 ajax를 사용하여 제출할 수도 있습니다.
Internet Explorer에는 동적으로 작성된 양식에 문제가 있습니다. 이와 같이 작성된 양식은 IE (9)에 제출되지 않습니다.
var form = $('<form method="post" action="/test/Delete/">' +
'<input type="hidden" name="id" value="' + myid + '"></form>');
$(form).submit();
IE에서 작동하게하려면 양식 요소를 만들고 제출하기 전에 첨부하십시오.
var form = document.createElement("form");
$(form).attr("action", "/test/Delete")
.attr("method", "post");
$(form).html('<input type="hidden" name="id" value="' + myid + '" />');
document.body.appendChild(form);
$(form).submit();
document.body.removeChild(form);
예제 1과 같이 양식을 작성한 후 첨부하면 작동하지 않습니다. IE9에서는 JScript 오류가 발생합니다. DOM Exception: HIERARCHY_REQUEST_ERR (3)
Tommy W의 소품 @ https://stackoverflow.com/a/6694054/694325
동적 양식에 대한 IE 트릭 :
$('#someform').find('input,select,textarea').serialize();
또한 Ajax를 통해 (실제로 제출하지 않고) 양식을 제출하기 위해 다음을 사용했습니다.
jQuery.get("process_form.php"+$("#form_id").serialize(), {},
function() {
alert("Okay!");
});
$.post제출 할 데이터를 생성하기 위해 양식을 명시 적으로 해체하고 재구성하는 문서가 있습니다. 감사!