抱歉糟糕的头衔。我有一个带输入字段的简单表单,我知道每次提交表单时,传递的参数数量就是一个。当一个参数被传递时重新加载被评估为真,如果重新加载为真,则页面获得刷新。问题是如果我不想刷新页面怎么办?如果我想在某些情况下将重新加载评估为false,该怎么办?我可以将一些参数传递给userInput函数,该函数会将某些场景评估为false吗?有任何想法吗?我通过代码示例了解最多,请在适用的地方提供。我也有一个小提琴:
<form id="myForm">
<input id="address" name="address" value="address">
<input type="submit" name="submit" value="submit">
</form>
function userInput(userLocation, input){
$('#myForm').on('submit', function(e){
reload = arguments.length > 1 ? arguments[1] : true;
if (reload) location.reload();
console.log(reload);
});
}
$(document).ready(function () {
userInput();
});
答案 0 :(得分:1)
我认为在你的情况下,最快的解决方案是garlic.js
<script type="text/javascript">
$( 'form' ).garlic();
</script>
原生解决方案
$('#myForm').submit(function () {
reload = arguments.length > 1 ? arguments[1] : true;
if (reload) location.reload();
console.log(reload);
e.preventdefault();
});
答案 1 :(得分:0)
在提交表单时,该页面将自动刷新或跟随帖子操作网址。我对有条件地重新加载页面的行感到困惑。您是否尝试在false
处理程序中返回submit
来控制页面重新加载? How do I cancel form submission in submit button onclick event?
答案 2 :(得分:0)
假设你想在userInput()方法调用中没有参数是reload = false所以这样做......
function userInput(userLocation, input){
$('#myForm').on('submit', function(e){
reload = (userLocation==undefined && input==undefined)? false
:(arguments.length > 1 ? arguments[1] : true);
console.log(reload);
if (reload) location.reload();
else return false;
});
}
$(document).ready(function () {
userInput();
});
<强> Fiddle demo 强>