Jquery 使用附加选项提交表单,可在所有浏览器中工作,但不能在IE中工作
我最近在一个asp网站上遇到了一个表单问题 基本上,表单需要用户填写,然后他们可以选择上传文件或直接提交 单击“附加”按钮保存会话,然后将会话重定向到上载文件页面,一旦上载,用户然后单击返回表单,其所有详细信息仍包含在其中;然后他们可以提交 以前,该表单仅在Chrome和Safari中工作。通过Stackoverflow,我发现以下代码适用于除IE之外的所有broswersJquery 使用附加选项提交表单,可在所有浏览器中工作,但不能在IE中工作,jquery,asp-classic,Jquery,Asp Classic,我最近在一个asp网站上遇到了一个表单问题 基本上,表单需要用户填写,然后他们可以选择上传文件或直接提交 单击“附加”按钮保存会话,然后将会话重定向到上载文件页面,一旦上载,用户然后单击返回表单,其所有详细信息仍包含在其中;然后他们可以提交 以前,该表单仅在Chrome和Safari中工作。通过Stackoverflow,我发现以下代码适用于除IE之外的所有broswers $('#myForm').get(0).setAttribute('action', 'session_save.asp'
$('#myForm').get(0).setAttribute('action', 'session_save.asp');
我希望它是StatAttribute标签,但我不确定应该用什么来代替,搜索也没有让我产生任何想法
我的提交代码如下:
<input type="image" id="attach" value="Attach" name="action" src="images/btn_attach.gif" style="margin: 0 0 6px 0;"><br>
<input type="submit" id="send_data" value="Send" title="Submit CSR" name="action">
</form>
<!--JQUERY TO CHANGE FORM ACTION-->
<script>
$(document).ready(function(){
$("#attach").click(function(){
$('#myForm').get(0).setAttribute('action', 'session_save.asp');
<!--$('#myForm').attr({action: "session_save.asp"});-->
$('#myForm').submit();
});
});
</script>
<!--END JQUERY-->
$(文档).ready(函数(){
$(“#附加”)。单击(函数(){
$('#myForm').get(0).setAttribute('action','session_save.asp');
$('#myForm')。提交();
});
});
任何帮助都将不胜感激。这样做没有多大意义
$('#myForm').get(0).setAttribute('action', 'session_save.asp');
行不行
$('#myForm').attr({action: "session_save.asp"});
除非jQuery中有bug,否则应该使用后者。您使用的是哪个版本?你能给你的原始问题一个链接吗?我想看看
但是,您不应该在输入中使用name=“action”
,因为这会“隐藏”表单的action
属性,这很可能是您真正的问题
编辑: 我错过了您将事件附加到
input type=“image”
的消息。他们自己提交表格,除非你阻止,而你不阻止。您需要让事件处理程序返回false
(或使用jQuery):
顺便说一句,您正在JavaScript中使用HTML注释。您必须使用
/**/
而不是
对,我更改了name=“action”,但仍然存在问题。我们以前使用过“$('#myForm').attr({action:“session_save.asp”});”,但这允许用户附加文件,而不是提交表单。它会引起刷新,但仅此而已。谢谢你的回复,但这仍然不起作用。它基本上是做它在开始时做的事情,附加文件工作,但是提交按钮没有提交表单。你有一个名为“提交”的元素吗?那也给它改名吧。否则,您需要显示一个正在运行的示例。这个很好用:
$("#attach").click(function(){
$('#myForm').attr({action: "session_save.asp"});
$('#myForm').submit();
return false;
});