对于定义为:
的文本输入<input type="text" name="Email0" id="Email0" value="1st Email" /><br />
如果用户更改了该文本框的值,我只需将其与表单提交一起传递...如果他们没有改变它 - 我需要传递值'null'。
$('#frmSignup').submit(function () {
if (Email0.value != Email0.defaultValue) {
alert("hit here"); //not hitting here
}
});
你会注意到jQuery存在,但我不清楚如何将输入的defaultValue检索到jQuery。
THX
答案 0 :(得分:4)
您可以使用数组语法...
从jQuery对象引用底层DOM元素$("#frmSignup").submit(function () {
var email = $("#Email0")[0]; // gets DOM element
if(email.value != email.defaultValue) {
alert("hit here");
}
});
答案 1 :(得分:0)
有几种可能性:
如果您可以更改html的布局,请更改您的输入:
<input type="text" name="Email0" id="Email0" value="1st Email" data-default="1st Email"/>
然后你可以检查这样的变化:
$('#frmSignup').submit(function){
$form = $(this).closest('form');
$email = $('input[name=Email0]', $form);
if ($email.val() != $email.attr('data-default')) {
// value has changed
}
});
如果您需要纯JavaScript解决方案,以下代码将在您更改之前存储默认值:
$(function(){ // short version of $(document).ready(callback);
$email = $('#frmSignup input[name=Email0]');
$email.data('default',$email.val());
});
现在您可以查找以下更改:
$('#frmSignup').submit(function){
$form = $(this).closest('form');
$email = $('input[name=Email0]', $form);
if ($email.val() != $email.data('default')) {
// value has changed
}
});