簡體   English   中英

將用戶輸入的數據附加到重定向網址中

[英]Append user entered data into redirect url

我有一個關於嘗試將用戶輸入的數據附加到重定向URL中的問題。 我使用在線數據庫/籌款公司(Salsa)進行支持者注冊。 我想要一個表單,人們可以只輸入他們的電子郵件和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表單中提取表單並將其附加到url。 我認為我需要使用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; }​ 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有關。 有沒有一種方法可以先將數據提交到數據庫,然后再重定向到其他表單?

我首先將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"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM