HTML锚标记点击提交表单并重定向到href链接

时间:2015-09-03 11:09:53

标签: javascript html forms anchor

我正在尝试提交表单并重定向到锚标记href属性中指定的href url。

形式:

<form id="myform" method="POST">
    <a href='http://www.google.com' onclick='submitResponse()'>SUBMIT</a>
</form>

JavaScript的:

function submitResponse() {
    document.forms[0].submit(); 
}

但它只会重定向到链接,并且表单未提交。

我也尝试了这个并且也没有工作。

<form id="myform" method="POST">
    <a href='#' onclick='submitResponse()'>SUBMIT</a>
</form>

function submitResponse() {
    window.location.href = "http://www.google.com" ;
    document.forms[0].submit(); 
}

4 个答案:

答案 0 :(得分:2)

您必须阅读有关html表单的信息。 为表单使用操作属性

设置操作
 <form action="http://google.com" method="POST">

所以你的代码看起来像这样

<form id="myform" method="POST">
    <a href='#' onclick='submitResponse()'>SUBMIT</a>
</form>

function submitResponse() {
    document.forms[0].action = "http://www.google.com" ;
    document.forms[0].submit(); 
}

答案 1 :(得分:1)

在这里阅读表格:

forms

解决问题的方法:

<form action="http://google.com" method="POST">

当您执行表单提交时,如果您未在操作中指定网址,则页面将只是重新加载。

你被重定向的唯一原因是因为:

 window.location.href = "http://www.google.com" ;

编辑:

考虑一下:

function submitResponse() {
    $('form').submit(function(){
        $.post('http://google.com', function() {
          window.location = 'http://google.com';
        });

      });
}

表单已提交,并在成功功能中重定向到desiered站点。

你的代码不起作用的原因是因为重定向不等待表单提交,它立即指示。

答案 2 :(得分:0)

只需更新表单标记的action属性:

&#13;
&#13;
Observable<Integer> observable = Observable.just(1, 2, 3).share();
observable.take(1).subscribe(this::runA);
observable.subscribe(
    this::runB,
    throwable -> {},
    this::runC);
&#13;
this.$("#example").DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": "../employees.json",
            "columns": [{
                "data": "Name"
            }, {
                "data": "Age"
            }, {
                "data": "Country"
            }, {
                "data": "Address"
            }, {
                "data": "Married"
            }],            
            'scrollCollapse': true,
            'ordering': true,
            'order': [[0, 'asc']],
            'searching': true,
            'paging': true,
        });
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

如果您要提交URL,您只需返回HTTP响应,如下所示。

HTTP/1.1 302 Found
Location: http://www.google.com

参考文献:

http://www.w3schools.com/tags/ref_httpmessages.asp 

https://en.wikipedia.org/wiki/HTTP_302

更新

如果您正在使用

ASP.Net MVC

http://www.dotnet-tricks.com/Tutorial/mvc/4XDc110313-return-View()-vs-return-RedirectToAction()-vs-return-Redirect()-vs-return-RedirectToRoute().html

http://stackoverflow.com/questions/7892094/mvc-redirect-to-index-from-another-controller

<强> PHP

http://stackoverflow.com/questions/768431/how-to-make-a-redirect-in-php

<强> JAVA

http://stackoverflow.com/questions/2659000/java-how-to-find-the-redirected-url-of-a-url

http://stackoverflow.com/questions/15057329/how-to-get-redirected-url-and-content-using-httpurlconnection