如何在新页面加载后提交 CFform 并更改其操作属性
how to submit a CFform and change its action attribute after the new page load?
我正在尝试使用cfform,用户可以在不同的网站上输入和搜索一些结果,这需要登录才能访问所需的结果。另一个网站将在弹出或新页面中打开,其中用户凭据已登录,并将显示用户之前在 cfform 或其他 cfform 或表单中输入的结果,我不确定应该如何完成。基本上,我想提供一种快速的方法,在与我的网站不同的网站中搜索结果,同时跳过包含结果的网站的用户的登录进度。
到目前为止,我有一个有效的 cfform,可以在用户已经登录的情况下打开 www.somewebsite.com,如下所示
<cfform action="https://www.somewebsite.com/login.php" method="post" id="ud_form">
<cfinput type="hidden" name="email" value="#email#" />
<cfinput type="hidden" name="password" value="#password#" />
<cfinput type="hidden" name="source" value="#source#" />
</cfform>
<script type="text/javascript">
document.getElementById('ud_form').submit();
</script>
我遇到的问题是,登录过程完成后,我还没有找到更改操作属性的方法。例如,登录后,cfform 操作属性应设置为新 url + cfform 的输入值 (https://www.somewebsite.com/cp.php?addr="+form_address+"&unit="+form_unit),然后提交。我做了大量的研究,但找不到解决方案。
我尝试在上面的 cfform 中包含 cfinput 标签,并使用一个 javascript 函数,该函数将在提交表单后触发操作属性更改。但是,按下提交按钮无法触发任何操作,而不会在控制台中报告任何脚本错误。我使用的代码如下所示。
<cfform action="https://www.somewebsite.com/login.php" method="post" id="ud_form" onSuccess="show_results();">
<cfinput type="hidden" name="email" value="#email#" />
<cfinput type="hidden" name="password" value="#password#" />
<cfinput type="hidden" name="source" value="#source#" />
Address: <input id="address" type="Text" name="address" placeholder="Enter an Address" size=40><br/><br/>
Unit #: <input id="unit" type="Text" name="unit" placeholder="Enter Unit" size=40><br/><br/>
<input id="submit" type="button" value="Search">
</cfform>
<script type="text/javascript">
$("#submit").click(function(){
$("#ud_form").submit();
});
function show_results()
{
var form_address =$("#address").val();
form_address = form_address.split(' ').join('+');
var form_unit = $("#unit").val();
form_unit =form_unit.split(' ').join('+');
var url = "https://www.somewebsite.com/cp.php?addr="+form_address+"&unit="+form_unit;
$('#ud_form').attr('action',url);
$("#ud_form").submit();
}
任何帮助或建议将不胜感激!
一旦你提交了这个HTML表单,在这种情况下,浏览器就会离开你的代码 - 它将开始与 somewebsite.com 交互
我认为您要做的是将表单提交给自己并获取表单字段并用它们进行 CFHTTP www.somewebsite.com,然后使用返回的结果使用您刚刚获取的数据填充页面/对话框/弹出窗口。
否则,您只需将用户发送到该辅助站点,然后将其从您的站点导航出去。
- 从JavaScript访问struts操作中的属性
- javascript对象操作:根据指定条件选择属性
- 更改跳转到URL操作SSRS 2008 R2的链接目标属性(rc:LinkTarget)
- CKEditor-对每个具有类名的属性执行一些操作
- 未捕获类型错误:无法设置未定义的属性“操作”
- 当我在操作属性中写入页面名称时,文件图像不会上传
- 通过指令属性传达操作
- Skrollr:操作html5数据属性
- 删除对象属性在执行删除操作之前生效
- 修改时,哪些DOM元素属性会导致浏览器执行回流操作
- 操作无法使用自定义控件上的呈现属性集,该控件包含操作按钮
- 如何使用复选框显示表单的更多选项并更改表单的操作属性
- 在 JavaScript 中创建对象和操作属性
- 未捕获类型错误:无法设置未定义的属性“操作”
- 在FF上使用本机Javascript进行样式属性操作
- HTML5属性操作:纯JS vs. jQuery
- javascript中的Onclick属性操作
- Jquery关于属性操作的问题
- 使用 display 属性操作元素
- Javascript闭包属性操作