我正在尝试定义一个变量,该变量应该从表单中的下拉问题中设置。
<!--[if lte IE 8]>
<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/v2-legacy.js"></script>
<![endif]-->
<script type="text/javascript" src="//js.hsforms.net/forms/v2.js" charset="utf-8"></script>
<script>
hbspt.forms.create({
portalId: 'XXXX',
formId: 'XXXXXX',
inlineMessage: 'You are being redirected to the Application...',
onFormSubmit: function($form){
var district = $form.find('input[name="distrito"]').find(' :selected').val();
setTimeout( function() {
window.location.href = "http://emprenda.com?locality=" + encodeURIComponent(district);
}, 500 ); // Redirects to url with query string data from form fields after 1/2 second.
}
});
</script>
它与输入文本的字段完美配合,但当切换到下拉菜单时;未定义的";
我把范围缩小到这一行:
var district = $form.find('input[name="distrito"]').find(' :selected').val();
您有一个前导空格。find(' :selected')
,但为什么不只是
var district = $form.find('input[name=distrito]').val()
此外,您不需要提交表格
通常在event.prventDefault((的事件处理程序中完成,但您的hbspt似乎不允许在此处使用的代码中这样做
请参阅此处:
https://rschu.me/prevent-the-submit-of-any-hubspot-forms-after-a-successful-validation-5e1f230b14f1