我想在将数据发送到服务器端之前检查数据, 在我的代码中,我想运行js验证并取消请求,如果fromid> = toid
我的代码
jQuery('#btndeletereg').click(function () {
if (jQuery('#txtuserrangefrom').val() >= jQuery('#txtuserrangeto').val()) {
alert("Range is not possible");
}
});

<label for="txtuserrangefrom">From User ID</label>
<input id="txtuserrangefrom" name="txtuserrangefrom" type="number" />
<span>   </span>
<label for="txtuserrangeto">To User ID</label>
<input id="txtuserrangeto" name="txtuserrangeto" type="number" />
<input id="btndeletereg" class="btn" type="button" value="Delete all users in range" onclick="location.href='@Url.Action("DeleteRangeUsers", "ControlPanel")?fromid=' + $('#txtuserrangefrom').val() + '&toid=' + $('#txtuserrangeto').val()" />
<br />
&#13;
提前致谢
P.S
我调试了我的代码,似乎在JS函数
编辑:
问题解决了,
删除了&#34; onclick&#34;来自我的html输入标记的事件,并将其放入我的jquery代码中
谢谢大家
答案 0 :(得分:1)
不要使用onclick属性,将应用程序重定向到同一个函数中。
更清晰,更可爱。
jQuery('#btndeletereg').click(function (e) {
if (jQuery('#txtuserrangefrom').val() >= jQuery('#txtuserrangeto').val()) {
alert("Range is not possible");
return false;
}
else
{
alert("ok");
window.location.href="yoururl";
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="txtuserrangefrom">From User ID</label>
<input id="txtuserrangefrom" name="txtuserrangefrom" type="number" />
<span>   </span>
<label for="txtuserrangeto">To User ID</label>
<input id="txtuserrangeto" name="txtuserrangeto" type="number" />
<input id="btndeletereg" class="btn" type="button" value="Delete all users in range" />
<br />
答案 1 :(得分:1)
<input id="btndeletereg" class="btn" type="button" value="Delete all users in range" onclick="location.href='@Url.Action("DeleteRangeUsers", "ControlPanel")?fromid=' + $('#txtuserrangefrom').val() + '&toid=' + $('#txtuserrangeto').val()" />
这个不起作用,因为您点击按钮就可以了 重定向 ControlPanel 的 DeleteRangeUsers 操作 控制器这是主要问题
删除按钮onclick事件并使用jquery代码重定向,如下所示。
jQuery('#btndeletereg').click(function (e) {
if (jQuery('#txtuserrangefrom').val() >= jQuery('#txtuserrangeto').val()) {
alert("Range is not possible");
return false;
}
window.location.href='@Url.Action("DeleteRangeUsers", "ControlPanel")?fromid=' + $('#txtuserrangefrom').val() + '&toid=' + $('#txtuserrangeto').val();
});
答案 2 :(得分:1)
通过查看代码,您需要记住这一点,
首先,您在html元素标记中有click
个事件,而另一个click
事件是您通过JQuery
绑定的。事实上,JQuery
将click
事件附加到已经存在的事件中,因此>> {/ 1}}中的点击事件后 。因此,您的html
JQuery
事件将在稍后触发
我的建议是将您在click
html
中编写的逻辑放入您绑定的jq onclick
事件中。
所以你的代码将是,
JavaScript
click
HTML
jQuery('#btndeletereg').click(function () {
if (jQuery('#txtuserrangefrom').val() >= jQuery('#txtuserrangeto').val()) {
alert("Range is not possible");
}else{
//Your logic which you prefer after validation is success
}
});
或强>
还有另外一种方法,不要在<label for="txtuserrangefrom">From User ID</label>
<input id="txtuserrangefrom" name="txtuserrangefrom" type="number" />
<span>   </span>
<label for="txtuserrangeto">To User ID</label>
<input id="txtuserrangeto" name="txtuserrangeto" type="number" />
<input id="btndeletereg" class="btn" type="button" value="Delete all users in range"/>
<br />
中绑定事件。而是创建一个返回JQuery
的验证函数,并在登录boolean
之前调用它。
JavaScript
onclick
html
function validate() {
if (jQuery('#txtuserrangefrom').val() >= jQuery('#txtuserrangeto').val()) {
alert("Range is not possible");
return false;
}
return true;
}
答案 3 :(得分:0)
试试这个
$('#btndeletereg').click(function (e) {
if ($('#txtuserrangefrom').val() >= $('#txtuserrangeto').val()) {
e.preventDefault();
alert("Range is not possible");
return false;
}
});