我看到了这样的一些问题,但是我对它进行了调整。我有直接从Sitecore运行的代码,所以我唯一可以使用的是jQuery(没有AJAX)。表单要么将值提交到指定位置,要么转到retURL
,我无法同时执行这两个操作。
var data = {};
f.find('input, textarea, select').each(function(i) {
var tag = $(this);
data[tag.attr('name')] = tag.val();
});
$.form(f.attr('data-action'), data, 'POST').submit();
data['retURL'] = 'http://www.google.com';
我有一些隐藏的字段和输入,我试图以某种方式调用表单中的retURL
。我需要data-action
来发布值,然后将用户发送到另一个页面。到目前为止,我只能得到一个(最后一个进入),而不是两个。
<div class="jquery-form" data-action="https://salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
<input type=hidden name="retURL" value="http://www.google.com">
<!-- Then all the elements in the form... -->
<!-- Then the submit button... -->
<a class="button submit" href="#">Submit</a>
我还尝试在:
中添加一个变量var retURL = "http://www.google.com";
$.form(f.attr('data-action'), data, retURL, 'POST').submit();
答案 0 :(得分:0)
试试这个:
var form = $('#your_form_id');
$.post(f.attr('data-action'), form.serialize())
.done(function(data) {
window.location.replace('http://www.google.com');
});
答案 1 :(得分:0)
您只需要更改action
标记的<from>
属性,如下所示。
$(document).ready(function () {
$("form").submit(function (objEvent) {
// Prevent Form submission
objEvent.preventDefault();
// Change the action based on selection
$(this).prop("action", $("select").val());
// Now submit the form to selceted URL.
$(this)[0].submit();
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="POST" action="">
Select URL for Form Submit
<select>
<option value="http://www.google.com">http://www.google.com</option>
<option value="http://www.yahoo.com">http://www.yahoo.com</option>
</select>
<input type="submit" value="Submit The Form" name="submit_btn" />
</form>
答案 2 :(得分:0)
你可以添加一个button.click()事件吗?在这个javascript函数中,对两个执行两个不同任务的独立Web服务进行两次AJAX调用。您可以同时运行它们或等待第一个成功,然后运行第二个。