我知道这个问题被问了好几次,但无法得到适合我的答案,所以我在这里处理我的情况。我正在尝试制作一个将联系表单添加到某个页面的 jQuery 插件(这不像没有这样的插件,但假设我这样做只是出于教育原因)。它正在此 div 中搜索<div id="add_contacts"></div>
并创建表单。jQuery
$(document).ready(function(){
$('#add_contacts').append('<div class="contact-from"></div>');
$('<form></form>',{id:'new_contact'}).appendTo('.contact-form');
$('<div>',{class:'contact_user_name'}).appendTo('#new_contact');
var name_field = $('<input>',{
name:"contact_broker_fullname",
id:"contact_user_name",
}).appendTo('.contact_user_name');
var input_button = $('<input>',{
name:"submit",
type:"submit",
value:"Send"
}).appendTo('#new_contact');
var full_name=name_filed.val();//I'm not sure that this should be here at all.
input_button.on('click',function(){
ajax_send_contact(full_name);
return false;
});
});
这是ajax_send_contact(full_name)
功能:
$.ajax({
url:'../some.php',
type:'post',
data:{name:full_name},
success: function (response){
if (response) {
$('#success').append('<span>All right.</span>');
}
else{
$('#errors').append('<span>Something went wrong.</span>');
}
},
error: function () {
$('#errors').append('<span>ERROR!</span>');
}
});
我已经读过,在将动态元素添加到 HTML 时,它们不会包含在 DOM 中,所以我该如何操作它们。我如何获取输入的值,所以一旦用户单击提交按钮,值就会发送到 ajax 函数。而且我不仅要针对这种特殊情况,而且要针对整个逻辑,因为我遗漏了一些非常重要的东西。
谢谢你。