我有一个 ASP.NET 应用程序,我必须在其中自定义表单的提交按钮中的单击操作:
脚本
<script>
$(function(){
function result(arr, identificateur,Pages) {
var f1 = $('input[name="reception' + arr + '"]').val();
var f2 = $('input[name="client' + arr + '"]').val();
var f3 = $('input[name="cloture' + arr + '"]').val();
var f4 = $('input[name="tag' + arr + '"]').val();
location = "@Url.Content("/Pages/Index")?identificateur=" + identificateur + "&Pages=" + Pages + "&_reception=" + f1 + "&_cloture=" + f3 + "&_client=" + f2 + "&_tag=" + f4;
}});
</script>
然后,形式:
<input type="submit" onclick="result(@i.ToString(),@Model[1][i].Id ,"1");" value="Enregistrer"/>
当我点击提交按钮时,没有任何反应,并且我没有重定向到操作 Index
。
造成这个问题的原因是什么?我该如何修复它?
编辑
<input type="submit" id="Enregistrer" value="Enregistrer" data-arr="@i.ToString()" data-identificateur="@Model[1][i].Id" />
<script>
$(function () {
$('#Enregistrer').click(function () {
var self = $(this); // This is the submit button
var identificateur = self.data('identificateur');
var arr = self.data('arr');
var f1 = $('input[name="reception' + arr + '"]').val();
var f2 = $('input[name="client' + arr + '"]').val();
var f3 = $('input[name="cloture' + arr + '"]').val();
var f4 = $('input[name="tag' + arr + '"]').val();
document.location.href = "@Url.Content("/Pages/Index")?identificateur=" + identificateur + "&Pages=1&_reception=" + f1 + "&_cloture=" + f3 + "&_client=" + f2 + "&_tag=" + f4;
});
});
</script>
问题:
- 重定向失败
- 只有在第一个
tr
中我才能到达js
函数
最佳答案
传递带有引号'
的字符串参数
,例如'someVal'
,否则您将收到未定义错误
更改下面的行
onclick="result(@i.ToString(),@Model[1][i].Id ,"1");"
至
onclick="result('@i.ToString()','@Model[1][i].Id' ,"1");"
将调用您的 JavaScript 函数,否则所有呈现的字符串将被视为变量,如下所示,您将收到 someval,someId undefined 错误
onclick="result(someval,someId ,"1");"
还可以使用location.href
进行导航
关于c# - 使用 javascript 调用重定向到 ASP.NET MVC 应用程序的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19244246/