【发布时间】: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 中(显示:隐藏;)这一事实是否会阻止它传递数据?