我的表格看起来像这样:
<form id="message">
<input type="text" id="name" placeholder="Name">
<textarea id="messagefield" placeholder="Message"></textarea>
<input type="submit" value="Send">
</form>
我想执行一个函数而不是表单提交,所以我在页面底部有这个:
$(function() {
$("#message").on("submit", function(e) {
e.preventDefault();
var recipient = $("#name").val();
var message = $("#messagefield").val();
send(recipient, message);
});
});
但出于某种原因,当我按下发送时,19/20次,页面重新加载,输入中的值消失。知道为什么会这样吗?有时当我去页面,然后刷新它,然后填写表格,它的工作原理。
我发现这个帖子:Submit button does not work unless I refresh the page form_for Rails由于某些原因我认为cordova可能会错误地呈现HTML,然后像重新加载那样修复它
原来那就是它。以下是呈现的HTML的屏幕截图:
一些更有用的信息:jQuery Mobile click event.preventDefault does not seem to prevent change
答案 0 :(得分:0)
尝试使用: 它不会提交表格
<button type="button" name="theButton" id="msg">SUBMIT</button>
$(function() {
$("#msg").on("click", function(e) {
e.preventDefault();
var recipient = $("#name").val();
var message = $("#messagefield").val();
send(recipient, message);
});
});
答案 1 :(得分:0)
请在功能结束时返回false; 。 可能是表单提交成功并返回true,因此您的控件被清除。 如下::
$(function() {
$("#message").on("submit", function(e) {
e.preventDefault();
var recipient = $("#name").val();
var message = $("#messagefield").val();
send(recipient, message);
return false;
});
});