2016-04-08 16 views
-2

Javascript söz konusu olduğunda yeni başlayan biriyim, bu yüzden benimle çıplak. Bir kullanıcının dolduracağı bir formum var, bu cevapları javascript'te değişkenlere göndermek ve sonra formda girilen tüm verileri farklı bir sayfada görüntülemek için bir işlevi çağırmak istiyorum. Örneğin, form 1.html, kullanıcı gönderme düğmesine basar, 2.html'ye yönlendirilir ve gönderilen bilgiler burada gösterilir. İşte benim biçimidir: page1.html üzerinde formdan size değerleri kaydetmek ve kullanımı form2.html onları getirmek için localStorage pr sessionStorage gibi değerini veya web depolama saklamak için bir hizmeti kullanmakJavascript Form Değişkenleri

<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

Yazdığınız JavaScript nedir? * Değişkenlerin * bir sonraki sayfaya değer katamayacağına dikkat edin, ancak değerleri yerel depoya kaydedebilir ya da bir sonraki sayfa için sorgu dizisine ekleyebilirsiniz. – David

+0

Değişkenleri sayfadan sayfaya geçirmenin bir yolu yok mu? – Alice

+0

* Açıkladığım gibi * değerleri * kaydedebilir veya gönderebilirsiniz. Ancak, bir bellek içi kavram olarak bir "değişken", bu değişkenin ömrünün kapsamı dışında mevcut olmayacaktır. Bu her programlama dilinde geçerlidir. – David

cevap

0

Ya

+0

Bu, basit HTML veya JS tarafından yapılmaz mı? – Alice

+0

Evet.Eğer JS kod parçanızı örnek html dosyaları sağlarsanız, –

+0

'u yapmak için web depolamasını kullanabiliriz, herhangi bir JS'miz yok, sadece bu form – Alice

1

sürece iki aynı etki alanında olduğu gibi sen ..

Page1

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

$("#form1").submit(function(){ 
    setCookie("input1", $("#input1").val()); // do this for all inputs 
}); 
çerez verileri ayarlamak ve sonraki sayfaya yeniden oluşturulacaktır edebilirsiniz

Sayfa2

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

Yardımlarınız için teşekkür ederiz. Alanları düzenledikten sonra, sayfa 2'nin tamamını kopyaladım. Ancak sayfa boş, uyarı gibi değerleri göstermem gerekiyor mu? – Alice

+0

kendi eleman kimliğinizi eklemelisiniz .. ben sadece "$ (" # input1 ")' dırdım .. –

+0

Evet, 'alanları düzenleme' dediğimde kastettiğim şey buydu. Öğe kimliği doğru, hiçbir şey gösterilmiyor. Eğer itfaiyeci – Alice

0

Sen local storage kullanarak değerleri devam edebilir. Bir sonraki sayfada, bu değeri getirme, Sonra

localStorage.setItem('myValue', someVariable); 

:

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

Ve depoda değerle, bitince mutlaka Örneğin, depolama için bir değer yazmak için kaldırın:

localStorage.removeItem('myValue'); 
İlgili konular