我有一个带有不同字段的表单,这些字段具有不同的名称值。
我正在寻找一种方法,当你在一个字段中写东西时,它将你写的(当前值)与默认值进行比较,然后删除一个禁用的按钮。
<form id="myForm">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this);" name="something" value="something" maxlength="40">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this);" name="somethingelse" value="somethingelse" maxlength="40">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this);" name="somethingElseElse" value="somethingElseElse" maxlength="40">
</form>
我尝试过类似的事情:
function onKeyUp(el) {
var inputValue = 'I dunno what i'm supposed to put here!!!' // cant got this
if(el.value!=inputValue) { // el.value is current value, inputValue is the default value
$('[name="actionSave"]').removeClass('disabled');
} else {
$('[name="actionSave"]').addClass('disabled');
}
}
答案 0 :(得分:2)
请检查此代码
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<form id="myForm">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this)" name="something" value="something"
maxlength="40">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this)" name="somethingelse"
value="somethingelse" maxlength="40">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this)" name="somethingElseElse"
value="somethingElseElse" maxlength="40">
</form>
<script>
function onKeyUp(el) {
var update_value = el.value;
var inputValue = el.getAttribute('value');
alert(update_value+"=="+inputValue)
if (update_value != inputValue) { // el.value is current value, inputValue is the default value
$('[name="actionSave"]').removeClass('disabled');
} else {
$('[name="actionSave"]').addClass('disabled');
}
}
</script>
答案 1 :(得分:1)
您希望获得目标输入的body
属性。在javascript Element.getAttribute()
返回属性值。
value
function onKeyUp(el) {
if (el.value!= el.getAttribute("value"))
$('[name="actionSave"]').removeClass('disabled');
else
$('[name="actionSave"]').addClass('disabled');
}
function onKeyUp(el) {
if (el.value!= el.getAttribute("value"))
$('[name="actionSave"]').removeClass('disabled');
else
$('[name="actionSave"]').addClass('disabled');
}
.disabled { color: red }
此外,当您使用jQuery时,您可以使用jQuery事件处理程序而不是html事件处理程序。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this);" name="something" value="something" maxlength="40">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this);" name="somethingelse" value="somethingelse" maxlength="40">
<input type="text" class="form-control name-saisie" onkeyup="onKeyUp(this);" name="somethingElseElse" value="somethingElseElse" maxlength="40">
<button name="actionSave" class="disabled">Save</button>
</form>
$("#myForm > input").keyup(function(){
if (this.value != $(this).attr("value"))
$('[name="actionSave"]').removeClass('disabled');
else
$('[name="actionSave"]').addClass('disabled');
});
$("#myForm > input").keyup(function(){
if(this.value != $(this).attr("value"))
$('[name="actionSave"]').removeClass('disabled');
else
$('[name="actionSave"]').addClass('disabled');
});
.disabled { color: red }