如果失败,.val()会返回什么?

时间:2018-03-05 06:27:35

标签: javascript jquery

我正在尝试使用Jquery' s .val()函数插入一个值 -

$("myDob").val(birthDate);

现在我想实现这样的逻辑 -

if (insertion of value is successful) 
{
   Do something
}

Otherwise
{
   Do something else
}

我该如何实现?我基本上想要处理插入值失败的情况。

提前致谢!

3 个答案:

答案 0 :(得分:3)

如果使用参数调用,

.val()是一个setter。它返回您调用方法的元素本身。无法插入的情况是元素本身不存在的情况。

因此,您可以通过检查.length返回的.val()属性来检查它是否存在。

var x = $("myDob").val("somevalue");

if (x.length) {
  console.log("1 Updated successfully");
} else {
  console.log("1 Updation Failed");
}


var x = $("#goodInput").val("somevalue");

if (x.length) {
  console.log("2 Updated successfully");
} else {
  console.log("2 Updation Failed");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="goodInput">

答案 1 :(得分:1)

var birthDate = '01/01/1990';
$("myDob").val(birthDate);

// Now check val of myDob equal birthDate
if ($("myDob").val() == birthDate) {
   // do something
} else  {
   // do something else
}
希望可以帮到你! :3

答案 2 :(得分:0)

你可以用不同的方法做同样的事情。如果我们检查birthdate变量不是nullundefined,为什么不呢?如果变量有值,则val()函数肯定有效。

if (birthDate != undefined || birthDate != null) {
    $(".YourClass").val(birthDate);
}

通过上述方法,脚本将在检查变量后为选定元素添加值。