【问题标题】:jQuery pass clicked image src to fancybox popup formjQuery将点击的图像src传递给fancybox弹出表单
【发布时间】:2016-05-17 20:25:29
【问题描述】:

我有一个弹出表单,它在单击图像时被激活,我使用了 fancybox 来获得灯箱效果。我想要的是使用单击的图像 src 自动填充表单字段之一。我尝试了以下但没有效果(控制台购物中没有任何错误):

jQuery("#storefront li img").click(function() {
    var barimg = jQuery(this).prop("src");
    jQuery("input[name=car]").val(barimg);
});

表单的 HTML:

               <div style="display:none">
                    <form method="POST" action="thanks.asp" id="modalbar">
  <div class="formwrapper">
    <label for="name">Name <span class="red2">*</span></label>
    <input type="text" name="FirstName">
    </div>

  <div class="formwrapper">
    <label for="car">Car (Please include <strong>Make</strong> / <strong>Model</strong> / <strong>Year</strong>) <span class="red2">*</span></label>
    <input type="text" name="Car">
    </div>

    <div class="formwrapper">
    <label for="reg">Reg Number</label>
    <input type="text" name="Reg">
    </div>

  <div class="formwrapper">
    <label for="phone">Telephone Number</label>
    <input type="text" name="Tel">

    </div>

  <div class="formwrapper">
    <label for="email">Email Address <span class="red2">*</span></label>
    <input type="text" name="EmailFrom">

    </div>

  <div class="formwrapper">
    <label for="prefcontact">Preferred Contact Method <span class="red2">*</span></label>
    <input type="text" name="ConMeth">

    </div>

  <div class="formwrapper">
    <label for="maillist">Join Mailing List</label>
    <input type="checkbox" name="MailList" value="Yes" checked="checked">
    </div>

  <div class="field">  
    <input name="submit" type="submit" value="Send Form" class="contactsend" />
    <input name="reset" type="reset" value="Clear Form" class="contactsend" />
    </div>
</form>
</div>

基本花式盒:

jQuery(".modaltowbartrigger").fancybox({
    'scrolling'     : 'no',
    'titleShow'     : false
});

任何指针将不胜感激?

【问题讨论】:

  • 您的input 选择器上似乎缺少$...
  • 另外,使用 .prop() 而不是 .attr() 因为它已被弃用。
  • 谢谢你们(菜鸟的错误!)我已经更新了代码,但表单中仍然没有任何内容:jQuery("#storefront li img").click(function() { var towbarimg = jQuery(this ).prop("src"); jQuery("input[name=car]").val(towbarimg); });
  • 输入在哪里?在花式盒子里?是您正在加载的 iframe 还是表单已经加载?
  • 是的,不是 iframe。但是考虑一下 - 我将表单包裹在隐藏的 div 中(显示:隐藏;)这一事实是否会阻止它传递数据?

标签: jquery forms autofill


【解决方案1】:

试试这个~~ 我想你错过了“”中的'';

jQuery("#storefront li img").click(function() {
    var barimg = jQuery(this).prop("src");
    jQuery("input[name='car']").val(barimg);
});

或者 jQuery('input[name="car"]') 也可以,但是 jQuery("input[name=car]") 不会选择任何元素,我认为...

【讨论】:

  • 不幸的是没有变化,但 sTx 已经破解了它。谢谢!
  • 尝试chrome调试模式,在"var barimg = jQuery(this).prop("src")"行添加断点,找出barimg和jQuery("input[name='汽车']")
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
相关资源
最近更新 更多