wake-up-neo.net

formulardaten an eine andere HTML-Seite übergeben

Ich habe zwei HTML-Seiten: form.html und display.html. In form.html gibt es ein Formular:

<form action="display.html">
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>

Die Formulardaten werden an display.html gesendet. Ich möchte die Formulardaten serialNumber in display.html wie folgt anzeigen und verwenden:

<body>
    <div id="write">
        <p>The serial number is: </p>
    </div>
    <script>
    function show() {
        document.getElementById("write").innerHTML = serialNumber;
    }
    </script>
</body>

Wie kann ich also die Variable serialNumber von form.html an display.html übergeben, damit der obige Code in display.html die Seriennummer anzeigt und die JavaScript-Funktion show () die serialNumber vom ersten HTML-Code erhält?

41
tonga

Wenn Sie keine serverseitige Programmierung wie PHP verwenden können, können Sie die Abfragezeichenfolge oder GET-Parameter verwenden.

Fügen Sie im Formular ein method="GET"-Attribut hinzu:

<form action="display.html" method="GET">
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>

Wenn Sie dieses Formular absenden, wird der Benutzer an eine Adresse weitergeleitet, die den Wert serialNumber als Parameter enthält. So etwas wie:

http://www.example.com/display.html?serialNumber=XYZ

Sie sollten dann in der Lage sein, die Abfragezeichenfolge - die den Parameterwert serialNumber - enthält - von JavaScript aus mit dem Wert window.location.search zu parsen:

// from display.html
document.getElementById("write").innerHTML = window.location.search; // you will have to parse
                                                                     // the query string to extract the
                                                                     // parameter you need

Siehe auch JavaScript-Abfragezeichenfolge .


Die Alternative besteht darin, die Werte beim Senden des Formulars in Cookies zu speichern und sie nach dem Laden der display.html-Seite erneut aus den Cookies zu lesen.

Siehe auch Verwendung von JavaScript zum Ausfüllen eines Formulars auf einer anderen Seite .

31

Sie müssen die Werte aus der Abfragezeichenfolge abrufen (da Sie keine Methode festgelegt haben, verwenden Sie standardmäßig GET).

verwenden Sie das folgende Tutorial.

http://papermashup.com/read-url-get-variables-withjavascript/

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}
10
Joshua Wooward

Verwenden Sie die Get-Methode, um den Wert eines bestimmten Feldes über den Browser zu senden:

<form action="display.html" method="GET">
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>
2
Satish

Wenn Ihre Situation wie beschrieben ist: Sie müssen die Aktion von einem einzelnen Formular an ein anderes Servelet senden und Sie haben zwei Übergabeschaltflächen, und Sie möchten die einzelnen Übergabeschaltflächen auf verschiedenen Seiten senden, dann ist die einfachste Antwort hier.

Um Daten an zwei Servelets zu senden, machen Sie eine Schaltfläche als Senden und die andere als Schaltfläche. Bei der ersten Schaltfläche senden Sie die Aktion in Ihrem Form-Tag wie üblich, auf der anderen Schaltfläche rufen Sie jedoch eine JavaScript-Funktion auf. Hier müssen Sie jedoch ein Formular mit demselben Feld senden In andere Servelets schreiben Sie dann nach erst close.de ein anderes Formular-Tag. Dort werden jedoch dieselben Textfelder angezeigt, jedoch mit ausgeblendetem Attribut. Wenn Sie Daten in das erste Formular einfügen, fügen Sie sie in ein anderes ausgeblendetes Formular mit JavaScript-Code ein die zweite form. Wenn Sie dann auf die Schaltfläche "Senden" klicken, wird die Aktion im ersten Formular ausgeführt. Wenn Sie auf die Schaltfläche klicken, wird die Funktion aufgerufen, um das zweite Formular mit seiner Aktion zu übermitteln. Jetzt wird Ihr zweites Formular zum zweiten Servlet aufgerufen.

Hier können Sie zwei Server von derselben HTML- oder JSP-Seite mit gemischtem Javascript-Code aufrufen

EinBEISPIELder zweiten verborgenen Form 

<form class="form-horizontal" method="post" action="IPDBILLING" id="MyForm" role="form">
    <input type="hidden" class="form-control" name="admno" id="ipdId" value="">
</form>
<script type="text/javascript">
    function Print() {
        document.getElementById("MyForm").submit();
    }
</script>  

0
CyberAbhay
*first html page*

<form action="display.jsp" >
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>


*Second html page*
<body>
<p>The serial number is:<%=request.getParameter("serialNumber") %></p>
</body>


you will get the value of the textbox on another page.
0
Vna

<form action="display.html" method="post">
    <input type="text" name="serialNumber" />
    <input type="submit" value="Submit" />
</form>

In display.html sollten Sie den folgenden Code hinzufügen.

<script>
function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, '\\$&');
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}

var sn = getParameterByName('serialNumber');

document.getElementById("write").innerHTML = sn;

</script>