2016-04-08 10 views
-2

Ich bin ein Anfänger, wenn es um Javascript kommt, also mit mir. Ich habe ein Formular, das ein Benutzer ausfüllen würde, ich möchte diese Antworten auf Variablen in Javascript senden und rufen Sie dann eine Funktion auf, um alle in das Formular eingegebenen Daten auf einer anderen Seite anzuzeigen. Zum Beispiel ist das Formular auf 1.html, der Benutzer drückt den Submit-Button, wird auf 2.html umgeleitet und die übermittelten Informationen werden hier angezeigt. Hier ist meine Form:Javascript Form Variablen

<form action="addaddresspage3.html" method="post" id="form" class="form"> 
    <div id="form1"> 

    <div class="row form-row form-bg"> 
     <div class="container"> 
      <div class="col-md-12 form-wrapper"> 
       <form role="form"> 
        <div class="form-content"> 
         <legend class="hd-default">Billing Address</legend> 


         <div class="row"> 
          <div class="form-group col-md-4 col-sm-6"> 
           <label for="first-name">First Name(s)*:</label> 
           <input type="text" id="firstname" class="form-control" placeholder="First Name(s)" required=""> 
          </div> 
         </div> 

         <div class="row"> 
          <div class="form-group col-md-4 col-sm-6"> 
           <label for="password">Surname*:</label> 
           <input type="text" id="surname" class="form-control" placeholder="Surname" required=""> 
          </div> 
         </div> 

         <div class="col-md-12"> 
          <div class="row"> 
           <div class="form-group col-md-3 col-sm-3"> 
            <label>Country of Home Address</label> 
            <select name="title" id="addresslist" class="form-control"> 
             <option value="1">Select Address</option> 
             <option value="1">United Kingdom</option> 
             <option value="2">Saudi Arabia</option> 
             <option value="3">Iran</option> 
             <option value="4">Nigeria</option> 
            </select> 

           </div> 
          </div> 
          <div class="row"> 
           <div class="form-group col-md-4 col-sm-6"> 


           <label for="street_<cfoutput>#Add#</cfoutput>">House number and street:</label> 
            <input type="text" name="street_#Add#" validateat="onSubmit" validate="maxlength" required="yes" id="autocomplete" size="54" maxlength="120" message="Please enter owner #Peoplecount#'s mailing address." onFocus="geolocate()" placeholder="Please enter your house number and street"> 


            <p> 

             <label for="city_<cfoutput>#Add#</cfoutput>">Town:</label> 
             <input type="text" name="city_#Add#" validateat="onSubmit" validate="maxlength" required="yes" id="locality" size="30" maxlength="50" message="Please enter owner #Peoplecount#'s mailing city." value="">  

            </p> 

            <label for="street_<cfoutput>#Add#</cfoutput>">Postcode:</label> 
            <input type="text" name="postal_#Add#" required="yes" id="postal_code" size="8" maxlength="12" message="Please enter owner #Peoplecount#'s mailing zip code." value=""> 
           </div> 
         </div> 
       </div> 
    </div> 

    </div> 
    <input type="submit" id="continue" disabled="disabled" value="Add Address"/> 
    </div> 
+1

Wo ist das JavaScript, das du geschrieben hast? Beachten Sie, dass * Variablen * keinen Wert für die nächste Seite enthalten. Sie können die Werte jedoch im lokalen Speicher speichern oder sie in die Abfragezeichenfolge für die nächste Seite aufnehmen. – David

+0

Gibt es also keine Möglichkeit, Variablen von Seite zu Seite zu übergeben? – Alice

+0

Sie können * Werte * speichern oder senden, genau wie ich beschrieben habe. Aber eine "Variable", wie ein In-Memory-Konzept, wird nicht außerhalb der Lebensdauer dieser Variable verfügbar sein. Dies gilt für jede Programmiersprache. – David

Antwort

0

Entweder einen Dienst verwenden Sie den Wert oder Webspeicher wie local pr session speichern Sie Werte aus dem Formular auf page1.html zu speichern und holen sie auf form2.html verwenden

+0

Könnte dies nicht durch einfaches HTML oder JS geschehen? – Alice

+0

Ja.Wenn Sie das Stück JS-Code Ihre Beispiel-HTML-Dateien zur Verfügung stellen, können wir Web-Speicher verwenden, um das zu tun –

+0

Ich habe keine JS, nur dieses Formular – Alice

1

Solange die beiden auf der gleichen Domäne sind, können Sie die Daten auf Cookies setzen und sie auf der nächsten Seite repopulate ..

Seite1

function setCookie(name, value) { 
    var cookie = name + "=" + escape(value) + ";"; 
    document.cookie = cookie; 
} 

$("#form1").submit(function(){ 
    setCookie("input1", $("#input1").val()); // do this for all inputs 
}); 

Page2

function getCookie(name) { 
    var chunks = document.cookie.split(";"); 
    for(var i=chunks.length; i--;){ 
     if(chunks[i].trim().split("=")[0].trim() == name){ 
      return chunks[i].trim().split("=")[1].trim(); 
     } 
    } 
    return null; 
} 

$(document).ready(function(){ 
    $("#input1").val(getCookie("iunput1")); // do the same for the other inputs 
}); 
+0

Vielen Dank für Ihre Hilfe. Ich habe die ganze Seite 2 kopiert, nachdem ich die Felder bearbeitet habe. Aber die Seite ist nur leer, muss ich die Werte wie eine Warnung anzeigen? – Alice

+0

Sie müssen Ihre eigene Element-ID hinzufügen .. Ich habe gerade $ '(# # input1)' '.. –

+0

Yeah Ich habe, das ist, was ich meinte, wenn ich sagte," Bearbeiten der Felder ". Die Element-IDs sind korrekt, nur nichts wird angezeigt. Ich denke nicht die Elemente werden disppalyed – Alice

0

Sie können Werte anhalten local storage verwenden. Um zum Beispiel einen Wert Speicher zu schreiben:

localStorage.setItem('myValue', someVariable); 

Dann auf der nächsten Seite, holen diesen Wert:

var someVariable = localStorage.getItem('myValue'); 

Und wenn Sie mit dem Wert im Speicher fertig sind, sollten Sie entferne es:

localStorage.removeItem('myValue');