这是我提交表单的代码,当我单击按钮时执行 Checkout() 函数
function postURL(url) {
var form = $('<form action="' + url + '" method="post">' +
"<input type='hidden' name='CheckedData' value='" + JSON.stringify(CheckedArray) + "'/>" +
'<input type="hidden" name="URL" value="CQLandingPage" />' +
'</form>');
$('body').append(form);
form.submit(); }
function Checkout() {
var CheckOutUrl = "https://www.facebook.com/";
postURL(CheckOutUrl);
}
我想在 CheckOutUrl
上重定向我的页面,但在本例中,它重定向到 DNN 中相同请求的页面
我已将此代码应用到模块的页脚中
特定模块的设置>高级设置
我有两个不同的域,从请求到响应,并且 html 中已有一种表单
最佳答案
Mitchel Sellers 有一篇关于此的博客文章:
https://mitchelsellers.com/blogs/2007/04/03/allowing-html-form-submissions-from-dnn
简短的版本是页面上已经有一个 html 表单元素。添加您自己的表单会与此发生冲突。但是,您可以使用现有的表单,而只需为您的"new"表单提供一个按钮或按钮类型的输入元素,并使用 onClick
在提交之前使用 JavaScript 更改现有表单的操作:
<button onClick="this.form.action='YourUrlHere';this.form.submit();">...</button>
这样做的缺点是页面上的所有其他输入都将提交(您正在提交整个表单)。只要不存在冲突的输入名称,这实际上就不会破坏任何东西;请注意,这可能会造成安全或隐私问题。
关于javascript - 在 DNN 中,当我尝试通过 javascript 代码重定向时,在执行表单提交代码后获取同一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49528550/