사용자가 변경하는 즉시 데이터를 보내는 양식을 구현하고 싶습니다.언제든지 양식이 변경됩니다.
예 :
사회자는 기사를 편집하고, 그것은 선택의 값을 변경합니다. 그가 할 때 아약스 동적 페이지에 해당 필드를 변경하려면 요청을 보냅니다. 변경 후 모든 페이지가 "업데이트 완료 ..."라는 작은 상자를 표시해야합니다.
가능합니까? 가장 좋은 방법은 무엇입니까?
당신은 거기에 jQuery를 AJAX 물건과 장소에있어
사용자가 변경하는 즉시 데이터를 보내는 양식을 구현하고 싶습니다.언제든지 양식이 변경됩니다.
예 :
사회자는 기사를 편집하고, 그것은 선택의 값을 변경합니다. 그가 할 때 아약스 동적 페이지에 해당 필드를 변경하려면 요청을 보냅니다. 변경 후 모든 페이지가 "업데이트 완료 ..."라는 작은 상자를 표시해야합니다.
가능합니까? 가장 좋은 방법은 무엇입니까?
당신은 거기에 jQuery를 AJAX 물건과 장소에있어
(내가 jQuery를 사용할 수 있습니다). 내가주의해야 할 유일한 것은 얼마나 많은 AJAX 요청을하는 것이다. 예를 들어, 텍스트 영역이있는 경우 모든 키 누르기를 업데이트하지 않으려 고합니다. 서버의 AJAX로드가 커집니다. 이 경우 10 초마다 업데이트하십시오.
선택 상자와 같은 경우 $("#selectbox").change()
을 사용하고 그 안에 AJAX 호출을 넣으십시오.
원하는 경우 해당 상자 또는 전체 양식에 대한 ajax 호출을 트리거하는 모든 입력에 대해 blur 이벤트를 사용할 수 있습니다. 내 관심사는 당신이 정말로 그것을 자주 제출하기를 원한다면 나는 또한 검증에 대해서 걱정할 것이다. 또한 원한다면 하나의 상자가 아닌 전체 양식을 제출할 수도 있습니다. 하지만 솔직히이 생각은 전혀 마음에 들지 않습니다.
어쨌든 jQuery를 사용하는 것이 가장 쉽습니다.
아약스를 호출하려는 이벤트에 따라 사용하는 선택기에 따라 다릅니다. 아마도 아약스를 호출하는 함수를 작성한 다음 선택기를 사용하여 (태그 이름이나 클래스 등을 통해) 변경하려는 각 요소를 반복 한 다음 onblur 또는 변경 중 어떤 스위트를 사용하든 양식을 전달하는 아약스를 호출하십시오. 매개 변수. 그
편집과 같은
function callAjax(form) { $.ajax({ type: "POST", url: "/yourscript.php", data: $(form).serialize(), // Send all the data from the form success: function(msg) { // Show a success message, or whatever } }); } $("form input").blur(function() { callAjax($("form")); });
뭔가 : 위에서 언급 한 바와 같이, 그 서버에 부하를 많이 넣을 수 있기 때문에 어느 흐림 이벤트에 요청을 호출하지하는 생각이 될 수 있습니다. 당신은 것 때문에 위의 제출 양식에 이벤트를 부착하는 것이 가장 좋은 선택이 될 것입니다 : 선별에 변경 이벤트를 사용할 때
$("form").submit(function() { callAjax($("form")); return false; });
을 tjhat 방식으로, 영업 이익은 크로스 브라우저 문제를 알고 있어야합니다 : HTTP : //stackoverflow.com/questions/208471/getting-jquery-to-recognise-change-in-ie. 그러므로 '클릭'을 사용하면 선택 상자에 대한 더 좋은 아이디어가됩니다. – pyvi
감사합니다. pyvi :-) – Bojangles