繁体   English   中英

jQuery表单元素访问

[英]Jquery form element access

我是jquery新手,并尝试执行以下操作:

我有一个表格:

<form method="POST" class="add-product" >
...
<label name="message"></label>
...
</form>

和脚本:

$(document).ready(function() {
$(".add-product").submit(function(e) {
    e.preventDefault();
    var form = this;
    $.ajax({
        type: "POST",
        url: "/product/add/",
        data: $(this).serialize(),
        success: function(data) {
            $(form.elements["message"]).html(data.message);
        }
    });
});

});

我正在尝试使用消息更新标签,但是它不起作用。 似乎我在语法上有一些错误:

$(form.elements["message"]).html(data.message);

问题是因为label没有出现在form.elements集合中。 相反,您需要直接选择它:

 $(".add-product").submit(function(e) { e.preventDefault(); var form = this; // inside the AJAX callback... var data = { message: 'Foo bar' } $(form).find('label[name="message"]').html(data.message); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form method="POST" class="add-product"> <label name="message"></label> <button>Submit</button> </form> 

尝试使用选择器:

$("form.add-product label[name='message']").html(data.message)

您可以在此处阅读有关jQuery属性选择器的更多信息。 https://api.jquery.com/attribute-equals-selector/

如果您的页面上有多个标签,且标签的属性name='message'则上述标签将无效。

您使用了错误的jquery选择器,请尝试:

$('label[name="message"]').html(data.message);

希望有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM