提交后的HTML表单重定向

时间:2013-07-26 12:11:39

标签: html forms

这是我的表单代码:

<form enctype="multipart/form-data" name="upload-file" method="post"  action="http://example.com/upload">
    <div class="formi">
        <input id="text-link-input" type="text" name="url" class="link_form" value="your link"  onfocus="if(this.value==this.defaultValue) this.value='';" onblur="if(this.value=='') this.value=this.defaultValue;"   />
        <input type="submit" value="OK" class="link_but" />
    </div>
    <div class="upl" title="Upload"><img src="http://example.com/example.png" alt="" style="vertical-align:middle;"/>Upload
        <input type="file" name="file" size="1" class="up" onchange = "document.getElementById('text-link-input').value = String(this.value).replace('C:\\fakepath\\','')"/>
    </div>
</form>

现在,我希望在提交表单数据后将提交者重定向到我选择的任何页面,但该操作位于我无法编辑的另一个网站上。在将数据提交到该网站后,是否可以将用户重定向到任何页面?

从一些谷歌搜索,这是我发现的。将其添加到表单代码中:

onSubmit=window.location='http://google.com'

这没有用。也许我没有正确实现它?这就是我所做的:

<form enctype="multipart/form-data" name="upload-file" method="post" onSubmit=window.location='http://google.com' action="http://example.com/upload">

另一个人说添加隐藏字段应该有效:

<input type="hidden" name="redirect" value="http://your.host/to/file.html"> 

我应该如何实现这是我的代码?

等待的建议和帮助......

1 个答案:

答案 0 :(得分:33)

试试这个Javascript(jquery)代码。它是对外部URL的ajax请求。使用回调函数触发任何代码:

<script type="text/javascript">
$(function() {
  $('form').submit(function(){
    $.post('http://example.com/upload', function() {
      window.location = 'http://google.com';
    });
    return false;
  });
});
</script>