将用户输入的数据附加到重定向网址

时间:2014-08-05 16:34:19

标签: javascript forms redirect

我有一个关于尝试将用户输入的数据附加到重定向网址的问题。我使用在线数据库/筹款公司(Salsa)进行支持者注册。我希望有一个表单,人们可以只输入他们的电子邮件和zip,将提交保存到数据库中(如此提交重定向)然后如果那个人想要填写更多信息,那么会出现另一个表单但是他们可以不必。第二个表格应该预填充他们的电子邮件和zip,所以他们没有(将其链接回数据库)

我尝试使用的是Salsa网址自动填充注册页面,前提是它有字段名称

示例http://wfc2.wiredforchange.com/o/8564/p/salsa/web/common/public/signup?signup_page_KEY=7145&Email=testing@test.tes&Zip=12345

所以http://wfc2.wiredforchange.com/o/8564/p/salsa/web/common/public/signup?signup_page_KEY=7145&Email=[email]&Zip=[zip]

唯一的问题是我不知道如何从用户电子邮件和zip形式提取表单并将其附加到网址。我想我需要使用javascript,但我不是很好。

对此的任何帮助都会很棒,非常感谢。甚至其他想法我也许会尝试。

编辑:

我能够自己解决一些问题,但仍然可以使用一些帮助。

function URL() { var email = document.getElementById("email").value; window.location = "http://wfc2.wiredforchange.com/o/8564/p/salsa/web/common/public/signup?signup_page_KEY=7145&Email=" + email; }​

我用过

onsubmit =“URL();返回false;”在 所以......

<form action="org2.salsalabs.com/save" ; method="POST" name="data" onsubmit="genURL(); false" >
<input type="text" id="user" />
<input type="submit" value="Submit" />

类似的东西,除了它不会首先将数据提交到数据库,它只是将我重定向到第二个表单。我猜这与onsumbit有关。有没有办法先将数据提交到数据库,然后重定向到另一个表单?

1 个答案:

答案 0 :(得分:0)

我首先会向您的数据库提供一个XmlHttpRequest信息,然后执行您在请求完成时已经找到的window.location重定向。这就是代码中的样子。

HTML:

<form id="myForm">
    Email: <input id="email" type="text" name="Email" /><br />
    Zip: <input id="zip" type="text" name="Zip" /><br />
    <input type="hidden" name="sign_up_page_KEY" value="7145" />
    <input type="button" onclick="saveData()" value="Submit" />
</form>

JavaScript的:

function saveData() {
    var xmlhttp;
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState == 4) { // Triggered when the information is done saving to your database
            var email = document.getElementById("email").value;
            var zip = document.getElementById("zip").value;
            window.location = "http://wfc2.wiredforchange.com/o/8564/p/salsa/web/common/public/signup?signup_page_KEY=7145&Email=" + email + "&Zip=" + zip;
        }
    }
    xmlhttp.open("POST", "org2.salsalabs.com/save", false);
    xmlhttp.send(new FormData(document.getElementById("myForm"))); // Sends a post request to org2.salsalabs.com/save with all the data from the form with id="myForm"
}