【发布时间】:2016-05-15 20:53:34
【问题描述】:
假设我有一个简单的form,我想检查form 是否已更改。如果它更改了submit,它会阻止表单提交,所以我使用 return 而不是使用 if-else 语句我尝试使用 ternary operation 但不幸的是我遇到了错误 Uncaught SyntaxError: Unexpected token return 但我不明白为什么会出现这个错误?三元运算是否只用于赋值?这部分不确定。以下只是我尝试做的一个示例。
var form_original_data = $("#frmProfile").serialize();
$("#frmProfile").on('submit', function(e) {
e.preventDefault();
$("#frmProfile").serialize() != form_original_data ? $("body").append('changed') : return;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="frmProfile">
<input type="text" value="name" />
<input type="submit" value="Go" />
</form>
【问题讨论】:
-
没有意义...使用 if
-
@epascarello 不我会选择
if没有问题,但这是否无效? -
究竟返回什么?三元运算符一般用作
var x = toCheck ? true : false; -
返回在某种意义上爆发或说阻止默认操作,即提交...@adeneo..
-
为了防止提交,你必须做的不仅仅是返回,你必须返回
false。这很容易用if ($("#frmProfile").serialize() != form_original_data) e.preventDefault()完成,不需要三进制
标签: javascript jquery