使用"操作提交到外部表单:javascript"使用javascript

时间:2015-11-30 20:48:04

标签: javascript jquery

我在一个页面(one.html)上有一个表单,它有一个javascript函数作为其提交操作:

<form id="the_form" action="javascript:myfunc('input_text');" method="post">
    <input type="text" id="input_text" name="input_text">
    <input type="submit">
</form>

我有另一个页面(two.html),其中有一个按钮,点击后我想在one.html上提交表单,以及input_text的值。这有可能用ajax或其他任何方式吗?如果可能的话,我也想重定向到我提交表单的页面,尽管这是可选的。

2 个答案:

答案 0 :(得分:1)

此代码应为第二种形式:

$(document).ready(function(){
var QueryString = function () {
    // This function is anonymous, is executed immediately and
    // the return value is assigned to QueryString!
    var query_string = {};
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i=0;i<vars.length;i++) {
        var pair = vars[i].split("=");
        // If first entry with this name
        if (typeof query_string[pair[0]] === "undefined") {
            query_string[pair[0]] = decodeURIComponent(pair[1]);
            // If second entry with this name
        } else if (typeof query_string[pair[0]] === "string") {
            var arr = [ query_string[pair[0]],decodeURIComponent(pair[1]) ];
            query_string[pair[0]] = arr;
            // If third or later entry with this name
        } else {
            query_string[pair[0]].push(decodeURIComponent(pair[1]));
        }
    }
    return query_string;
}();

if(QueryString.preview){
    console.log(QueryString.preview);
}

});

此示例读取查询和解析。

首先,您可以将表单作为GET发送,例如http://asd.com/?param1=a&param2=b 然后在另一个页面中使用QueryString.param1和QueryString.param2。

答案 1 :(得分:0)

根据这篇文章中的评论,我想假设你想把它从pageA发送到一个返回结果文件的php文件:

根据您提问中的评论,我假设您希望使用javascript从pageA发布到新页面(pageB)。

快速回答:不可能(以用户友好的方式) 更有用的答案
它需要更多的工作,但根据给出的信息,这可能有效:

  • 通过GET或POST将页面从pageA提交到pageB
  • 创建隐藏字段(<input type="hidden"/>)并填写具有相应GET或POST值的字段。使用像PHP这样的服务器端语言可能会更容易,但在JS
  • 中是不可能的
  • 设置隐藏的输入并将其命名为<input type="hidden" id="linkedSubmit" value="1" />
  • 创建一些javascript以查看是否$('#linkedSubmit').val()==1,如果是,请继续在第B页上提交表单

这不是最漂亮的解决方案,在慢速连接上,用户会看到页面跳跃。并且因为它是javascript它的客户端,因此用户可以手动将值更改为1并欺骗您的页面。这不应成为安全问题。