我有一个像这样的PHP生成表单
<form onsubmit="formSubmit(this)" method="post">
Product Name <input name="prID" type=" text" value="poney" readonly></input>
Platform Name<input name="platform" type="text" value="Jambon"></input>
<input type="submit" value="OK">
<input type="reset" value="Cancel">
</form>
好的,现在如果单击“取消”,表单将被重置,输入值将重置为初始值。我想要做的是在我的formSubmit(this)函数中获取表单初始值。
如果我做了类似
的事情formSubmit(form){
alert(form[0].value+form[1].value);
}
输出将类似于“ poney你输入什么” 我想要的是
formSubmit(form){
alert(form[0].value+" old value: "form[1].initialvalue+" new value: "+form[1].value);
}
应该给出这样的输出“ poney old value:jambon new value:whatever ”
您是否知道获取这些信息的方法,因为它们似乎存储在某个地方?
答案 0 :(得分:2)
最简单的方法是将其保存在文档加载中(除非它由AJAX或其他一些后加载事件填充;然后你必须在那里存储初始状态。)
<script>
$(function(){
var $form = $('form'),
formOriginalValue;
// store initial state on page load
formOriginalValue = $form.serializeArray();
// catch the submit handler and compare
$form.submit(function(e){
// given 'element1' is a text box:
//
// original value: formOriginalValue['element1']
// new value: $('[name="element1"]', this).val();
});
});
</script>
答案 1 :(得分:0)
另一个解决方案可能是使用data-*
attributes,jQuery有一个built-in data() function来管理这些数据。