【问题标题】:JQuery : How to acess form elements after loadJQuery:加载后如何访问表单元素
【发布时间】:2013-08-15 22:33:36
【问题描述】:

我已经这样加载表单了:

$('#content').load('contacts/contact.php #content' );

我的表单 html 是:

<div id="content">
<div class="post">
    <h1 class="title">Nous contacter</h1>

    <div class="entry">

        <div id='form_wrap'>

            <form method="post" name="contactForm" id="contactForm">
                <p>hi,</p>
                <label for="sujet">Sujet: </label>
                <input type="text" name="sujet" value="" id="sujet" class="validate[required,custom[chaine]] text-input" data-prompt-position="topLeft:10"/>
                <label for="message">Message : </label>
                <textarea  name="message" value="Votre Message" id="message" class="validate[required] text-input" data-prompt-position="topLeft:20"></textarea>
                <p></p> 
                <label for="name">Nom: </label>
                <input type="text" name="name" value="" id="name" class="validate[required,custom[chaine]] text-input" data-prompt-position="topLeft:10"/>
                <label for="email">Email: </label>
                <input type="text" name="email" value="" id="email" class="validate[required,custom[email]] text-input" data-prompt-position="topLeft:10"/>
                <input type="submit" name ="env" id ="env" value="Envoyer" />
            </form>
        </div>
    </div>  
</div>

我想在提交后获取表单中元素的值,我尝试这样做:

$("#sujet").val()

但它不起作用!!!

如何获得它们(提交后)?

谢谢

【问题讨论】:

  • 我们还需要查看脚本...
  • 脚本是: $("#contactForm").submit( function() { $.ajax({ type: "POST", url: "actionContact.php", data: "sujet= "+$("#sujet").val()+"&nom="+$("#name").val()+"&email="+$("#email").val()+"&message ="+$('textarea[id="message"]').val() , 成功: function(msg){ if(msg==1) { $("div.post").html("Vous êtes maintenant connecté."); } else { alert('erreurs'); $("div.post").html("Erreur lors de la connexion "); } } }); 返回 false; });

标签: jquery ajax forms load


【解决方案1】:

尝试使用.get()函数:

$.get('contacts/contact.php #content', function(data) {
  console.log($(data, "#sujet").val());
});

http://api.jquery.com/jQuery.get/

【讨论】:

    【解决方案2】:

    您可以使用serialize()serializeArray() 来设置数据:

    $('#contactForm').submit(function() {
      $.ajax({ 
        type: "POST", 
        url: "actionContact.php", 
        data: $(this).serializeArray()
    });
    

    http://api.jquery.com/serialize/

    http://api.jquery.com/serializeArray/

    【讨论】:

    • 我可以在 ajax 调用之前获取值吗?
    猜你喜欢
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 2021-04-05
    相关资源
    最近更新 更多