gpt4 book ai didi

jquery - 如何在 Ajax.Begin 表单中使用 onBegin 验证请求?

转载 作者:行者123 更新时间:2023-11-30 23:53:23 26 4
gpt4 key购买 nike

问题:此代码未触发 StartValidation 函数。为什么?

<html>
<head>
<script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#frmUp').find("input[type = 'submit']").click(function () {
$('#frmUp').submit();
});
});
function StartValidation() {
return true;
}
</script>
</head>
<body>
<div>
@using (Ajax.BeginForm("UploadRequestFile", "FileUpload", new AjaxOptions
{
HttpMethod = "POST",
OnBegin = "return StartValidation();"
}, new { id = "frmUp" }))
{
<input type="submit" name="Submit" value="Submit" />
}
</div>
</body>
</html>

运行时标记

<form method="post" id="frmUp" data-ajax-method="POST" 
data-ajax-begin="return StartValidation();" data-ajax="true"
action="/fileupload/UploadRequestFile?Length=10">
<input type="submit" value="Submit" name="Submit">
</form>

最佳答案

This code is not firing the StartValidation function. Why?

因为你好像订阅了提交按钮的点击事件,而你绝对不需要这个事件。

您所需要的只是引用 jquery.unobtrsuive-ajax.js 脚本,以便对这些 Ajax.* 帮助程序进行 AJAX 化:

<html>
<head>
<script src="/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquer.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script type="text/javascript">
function StartValidation() {
return true;
}
</script>
</head>
<body>
<div>
@using (Ajax.BeginForm("UploadRequestFile", "FileUpload", new AjaxOptions
{
HttpMethod = "POST",
OnBegin = "return StartValidation();"
}, new { id = "frmUp" }))
{
<input type="submit" name="Submit" value="Submit" />
}
</div>
</body>
</html>

您无疑会注意到我如何添加对 jquery.unobtrusive-ajax.min.js 脚本的引用,以便使这些 Ajax.* 帮助程序执行您期望它们执行的操作。

我对您的代码的另一个评论是,您似乎试图在 FileUpload Controller 上调用名为 UploadRequestFile 的操作。鉴于这些名称,我可以安全地假设您正在尝试将文件上传到服务器(只是您没有在问题中显示或提及这一点)。在您感到不安之前,让我快速告诉您,您无法使用 AJAX 上传文件。您可以使用一些插件,例如 Uploadify 或 BlueImp File Upload,或者如果您的客户端浏览器支持 HTML5 File API,那么您可以依赖它。

关于jquery - 如何在 Ajax.Begin 表单中使用 onBegin 验证请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17306934/

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