gpt4 book ai didi

javascript - 加载局部 View 时是否执行 JavaScript?

转载 作者:行者123 更新时间:2023-11-30 10:55:33 25 4
gpt4 key购买 nike

背景

我正在使用 ASP.NET MVC。我有一个包含 JavaScript 的部分 View 。我正在使用 AJAX get 将部分 View 加载到 <div> 中标签。 JavaScript 为一组单选按钮注册一个点击事件。

问题

它似乎没有执行:单击单选按钮时,表单没有提交。

这是我的部分观点:

<% using (Ajax.BeginForm(ActionName.Approve, ControllerName.Supervisor, new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "Result"}, new { id = "IsSupervisorApprovalRequiredForm" }))
{%>
<p>Is supervisor approval required?</p>
<label for="IsSupervisorApprovalRequired">Yes</label><%=Html.RadioButton("IsSupervisorApprovalRequired", "0", new { @class = "IsSupervisorApprovalRequiredYes" })%>
<label for="IsSupervisorApprovalRequired">No</label><%=Html.RadioButton("IsSupervisorApprovalRequired", "1", new { @class = "IsSupervisorApprovalRequiredNo" })%>
<%} %>
<script type="text/javascript">
$("#IsSupervisorApprovalRequired").click(function() {
$("form#IsSupervisorApprovalRequiredForm").submit();
});
</script>

问题

加载局部 View 时是否执行 JavaScript?

最佳答案

是也不是。您的场景中的执行顺序如下:

  1. 页面被请求
  2. ASP.NET 将部分 View 呈现到父页面
  3. Javascript 在整个页面上执行

针对您的特定问题。在实际绑定(bind)到事件之前,您需要在页面加载时加载该 Javascript 代码段。您的代码应如下所示:

<% using (Ajax.BeginForm(ActionName.Approve, ControllerName.Supervisor, new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "Result"}, new { id = "IsSupervisorApprovalRequiredForm" }))
{%>
<p>Is supervisor approval required?</p>
<label for="IsSupervisorApprovalRequired">Yes</label><%=Html.RadioButton("IsSupervisorApprovalRequired", "0", new { @class = "IsSupervisorApprovalRequiredYes" })%>
<label for="IsSupervisorApprovalRequired">No</label><%=Html.RadioButton("IsSupervisorApprovalRequired", "1", new { @class = "IsSupervisorApprovalRequiredNo" })%>
<%} %>
<script type="text/javascript">

$(function() {
$("#IsSupervisorApprovalRequired").click(function() {
$("form#IsSupervisorApprovalRequiredForm").submit();
});
});

</script>

关于javascript - 加载局部 View 时是否执行 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1942793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com