この質問が何度か聞かれたことは知っていますが、私に合った答えが得られなかったので、ここで私のケースを取り上げます。特定のページに連絡先フォームを追加するjQueryプラグインを作成しようとしています(そのようなプラグインがないわけではありませんが、教育上の理由からこれを行うとしましょう)。<div id="add_contacts"></div>
この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 関数に送信されます。そして、私はこの特定のケースだけを求めているのではなく、非常に重要なものが欠けているため、ロジック全体を求めています。
ありがとうございました。