如何使用此关键字访问表单元素

时间:2012-05-15 12:30:02

标签: javascript jquery html

我有循环生成的表单,因此元素的名称将是相同的。这就是我想使用$(this)来访问它们并进行比较的原因。但到目前为止不成功,任何想法我怎么能。 仅供参考我是Jquery的新手,任何帮助表示赞赏:)

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">

$("form").submit(function() {

 if ($(this).children("#textbx").val() < $(this).children("#comparetobox").val() ) {

    $("span").text("Validated...").show();
    return true;


  }

    $("span").text("Not valid!").show().fadeOut(1000);
  return false;
});

</script>

<form id='userbid'  name='userbid'  method=post>
<input type="text" name="textbx" id="textbx">
<input type="text" name="comparetobox" id="comparetobox">
<span></span>
<input type="submit" value="save" name="submit">
</form>
<!-- Form is in loop so can be generated N no of times -->
<form id='userbid'  name='userbid'  method=post>
<input type="text" name="textbx" id="textbx">
<input type="text" name="comparetobox" id="comparetobox">
<span></span>
<input type="submit" value="save" name="submit">
</form>

2 个答案:

答案 0 :(得分:0)

我不知道你如何比较input框的值,但这是有效的JavaScript代码:

$("form").submit(function() {
    if ($(this).children(".textbx").val() < $(this).children(".comparetobox").val()) {
        $(this).children("span").text("Validated...").show();
        return true;
    }
    $(this).children("span").text("Not valid!").show().fadeOut(1000);
    return false;
});

注意元素的ID应该是唯一的。请改用类(例如.textbx)。

答案 1 :(得分:0)

在第二个输入中,你有'是'而不是'id',这可能是你的问题。