我最近在asp网站上遇到过表单问题。
基本上,表单需要用户填写,然后他们可以选择上传文件或立即提交。
单击“附加”按钮会话保存,然后将它们重定向到上传文件页面,一旦上传用户,然后单击以返回到表单,其所有详细信息仍然包含在内;然后他们可以提交。
此前,该表单仅适用于Chrome和Safari。通过Stackoverflow,我发现以下代码适用于IE以外的所有broswers。
$('#myForm').get(0).setAttribute('action', 'session_save.asp');
我希望它是stAttribute标签,但我不确定我应该使用什么,搜索并没有让我产生任何想法。
我提交的代码如下:
<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-->
非常感谢任何帮助。
答案 0 :(得分:0)
没有多大意义
$('#myForm').get(0).setAttribute('action', 'session_save.asp');
工作而不是
$('#myForm').attr({action: "session_save.asp"});
你应该使用后者,除非jQuery中有错误。你使用的是哪个版本?你能给出原始问题的链接吗?我想看一下。
但是,您不应在输入中使用name="action"
,因为这可以“隐藏”表单的action
属性,这很可能是您的真正问题。
编辑:
我错过了您将活动附加到input type="image"
。他们自己提交表格,除非你阻止,否则你不提。您需要让事件处理程序返回false
(或使用jQuery的event.preventDefault()
):
$("#attach").click(function(){
$('#myForm').attr({action: "session_save.asp"});
$('#myForm').submit();
return false;
});
顺便说一下,您在JavaScript中使用HTML注释。您必须使用/* ... */
代替<!-- ... -->
。