자동으로 Ajax 지원 양식의 제출 버튼을 클릭하여 사용자가 버튼을 클릭 할 필요는 없지만 선택적으로 선택할 수 있습니다.javascript/jquery timer에서 Ajax 양식 제출 제출
지금 당장은 Javascript에서 양식을 호출하는 첫 번째 경계에서 작업하고 있으므로 타이머를 작성한 후에는이 부분을 알아 보겠습니다.
나는 이것을하기 위해 여러 가지 방법을 시도했으며, 아무 것도 작동하지 않았다. 이것이 (jquery.mobile을 사용하는) ASP.NET MVC 4 모바일 응용 프로그램이지만 Jquery.mobile ajax가 비활성화되어 있으므로 내 버튼이 작동하도록되어 있습니다 (div를 업데이트하면 수동 아약스 기반 양식이 작성됩니다. jQuery.mobile 앱에서는 작동하지 않습니다. 왜냐하면 모든 ajax 양식 제출에 후크하기 때문입니다).
현재 버튼이 제대로 작동하므로 프로그래밍 방식으로 실행하지 못하는 것 같습니다. 내가 자바 스크립트에서이 작업을 수행하기 위해 노력했다
<% using (Ajax.BeginForm("SendLocation", null, new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "result", HttpMethod = "POST" }, new { @id = "locationForm" }))
{ %>
<ul data-role="listview" data-inset="true">
<li data-role="list-divider">Navigation</li>
<li><%: Html.ActionLink("About", "About", "Home")%></li>
<li><%: Html.ActionLink("Support", "Support", "Home")%></li>
<li data-role="list-divider">Location</li>
<%: Html.HiddenFor(model => model.GPSLongitude)%>
<%: Html.HiddenFor(model => model.GPSLatitude)%>
<li><input type="submit" id="submitButton" value="Send" /></li>
</ul>
<% } %>
:
나는 내 양식이
$.ajax({
type: "POST",
url: action,
success: function() {
alert('success');
}
});
을 그리고 평소에 서버 코드 발사를 얻는다. 그러나 DIV가 업데이트되지 않았고 모델도 손상되지 않았습니다 (모든 내부 값이 null로 존재하므로 새로 인스턴스화 된 것으로 가정합니다).
는 또한 양식을 발사하는 다양한 방법을 시도했습니다 :
var form = $('#locationForm', $('#myForm'));
if (form == null) {
alert('could not find form');
} else {
alert('firigin on form');
form.submit(function (event) { eval($(this).attr("onsubmit")); return false; });
form.submit();
}
이 중 하나가 작동하지 않았다 : 나는 웹을 통해 발견이 작업을 수행하는 모든 방법이었다
var f = $('#locationForm', $('#myForm'));
var action = f.attr("action");
var data = f.attr("data");
$.post(action, data, function() { alert('back'); });
.
아무도 양식을 실행하지 않고 사용자가 제출 버튼을 직접 누른 것처럼 정상적으로 작동하게했습니다. 물론이 작업이 실패하면 제출 버튼을 누르면 완벽하게 작동합니다 ...
이것은 불행히도 작동하지 않습니다. 포스트가 생기고 컨트롤러가 업데이트되지만 div가 올바르게 업데이트되지 않습니다. 페이지 자체에는 아무런 변화가 없으며 그 부분이 좋습니다. 그러나 실제로 작동하지 않는 부분은 그리 좋지 않습니다. – user1104203
위의 내 솔루션에 표시되는 경우 귀하가 제공 한 솔루션이 바로 여기에 있습니다. 그래서 이미 작동하지 않습니다. – user1104203
마크 업이 다시 전송됩니까? 네트워크 트래픽을 확인하여 무언가가 응답으로 반송되는지 확인하십시오. 또한 컨트롤러에서 부분보기를 반환합니까? – user1778606