jQuery 양식 플러그인은 양식에 ajax를 사용하는 단순성을 제공합니다. 양식 속성을 사용하여 양식을 제출하는 방법 및 위치를 결정합니다. 양식의 메소드 속성은 플러그인에 요청 유형을 알려줍니다. 양식의 action 속성은 양식을 제출할 위치를 알려줍니다.대신
$.post("submit.php", $("#myform").serialize());
의
$('#myform').ajaxForm();
을 JQuery와 양식 플러그인은 또한 당신을 수 있습니다 : 본질적으로
<form id="myform" action="submit.php" method="post">
<!--inputs and submit button go here-->
</form>
은 당신이 쓸 수있는이 같은 예를 들어 양식을 고려
코드에서 Ajax를 통해 제출하십시오.
$('#myform').ajaxSubmit();
JQuery와 사용자가 서버에 제출하기 전에 직렬화해야 할 것, 플러그인 어쨌든 형태를 직렬화한다 형성한다. jQuery Form Plugin은 양식을 뒤에서 직렬화합니다. 위의 예제는 서버의 응답을 처리하지 않습니다.
아래 코드를 사용하면 class 속성에 "result"가 포함 된 요소에 응답을 추가 할 수 있습니다.
$('#myform').ajaxForm({ target : ".result"});
대상 옵션에 대해 jQuery에서 지원되는 모든 선택기를 사용할 수 있습니다.
지연된 메소드를 사용할 수 있는지 확실하지 않습니다. 호환성은 1.3.2+에 대한 것이고 기본 아약스 메소드는 플러그인에 포함되어 있기 때문에 나는 그걸 의심합니다. Deferred 객체는 플러그인 내부에서 결코 반환되지 않습니다.
jQuery 양식에는 사용할 수있는 beforeSubmit 옵션이 있습니다. 위의 코드를 추가하면 다음과 같이 표시됩니다.
$('#myform').ajaxForm({ target: ".result", beforeSubmit: function(arr, $form, options) {
// arr: The array of form data
// The array of form data takes the following form:
// [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
//some code to check if we already submitted the form
// return false to cancel submit
}
});
그러나 양식을 제출 한 후 사용자가 페이지를 완료하면 반대하는 것이 좋습니다. 클라이언트 측 코드에 불필요한 복잡성이 추가 될뿐입니다. 양식 제출 후 사용자가 페이지에서 다른 작업을 수행하는 것이 좋을 것입니다. jQuery Forms Plugin에는 서버가 200 "OK"응답을 반환하면 함수 콜백을 호출하는 success 옵션이있다. 플러그인에 대한 더 많은 정보는 플러그인 웹 사이트 http://jquery.malsup.com/form/에서 확인할 수 있습니다.
파일 업로드는 어떻게됩니까? – psousa
당신이 그 여분의 방법과 파일 업로드가 필요하지 않다면 나는 그것을 추측한다. 그렇지 않다면 나는 정말로 아무런 요점이 없다고 생각한다. – chobo2
또 다른 장점이 있습니다 :이 플러그인을 사용하면 비 아약스 양식 버전에서 아약스 버전으로 쉽게 업그레이드 할 수 있습니다. 또한 Hijax 시나리오를 만드는 것이 훨씬 쉽습니다. – psousa