2012-12-28 18 views
9

Başka bir sayfada verilen bir bağlantıyı tıklattığında iletişim formumdaki bir alanı önceden doldurmak için basit bir yol arıyorum.html biçiminde URL formunu ön doldurun

Bu html benim iletişim formu vardır: Ben "Bazı metin" ile "mesaj" alanını doldurmak istiyor

<form method="post" action="submit.php" > 
    <p>Your name: 
    <br /><input name="name" /></p> 
    <p>Your email: 
    <br /><input name="email" /></p> 
    <p>Your message: 
    <br /><textarea name="message" id="message" rows="10" cols="50"></textarea></p> 
    <p><input type="submit" value="Send" /></p> 
</form> 

www.xyz.com/contact.html?setmessagefield=some_text

cevap

12

JavaScript gibi bir url tıklayan kullanıcılar genellikle yerleşik zaman -in gibi URL parametreleri ayrıştırmak için fonksiyonlar (Bu GET parametreleri genellikle sunucuya veri göndermek için kullanılır beri).
yerine bir karma kullanarak öneririm (bir karma istemci tarafı saf olduğunu):

www.xyz.com/contact.html#name=some_text & E = fazla% 20text

Şimdi

, Alanlarınızda bazı id 's ekleyin:

<p>Your name: 
<br /><input name="name" id="name" /></p> 

<p>Your email: 
<br /><input name="email" id="email" /></p> 

Sonra böyle değerlerini ayarlamak, yüke:

Working example

bu büyük avantajıesnek olmasıdır. Eğer 2 alanların değerlerini ayarlamak istiyorsanız, karma olanlar 2 alanlar id 's tedarik:

www.xyz.com/contact.html#name=some_text & eposta = daha fazla% 20text

4 alanlar? 4 id en:

www.xyz.com/contact.html#name=some_text & eposta = daha fazla% 20text & username = john & yaş sonra = 23

kodunu düzenlemek gerek yok, .

+0

Ne böyle bir url varsa? Hash sembolü parametrelerin sonuna eklenir. [https://it-center.am/?description=B16083&amount=AMD40.000&language=hy#modalpayment] Şimdiden teşekkürler. – hasratyan

1

Sen window.location.href ile mevcut URL almak ve daha sonra bir normal ifadede aracılığıyla varsayılan mesaj alabilirsiniz:

var msg = window.location.href.match(/\?setmessagefield=(.*)/); 
document.getElementById("message").value = msg[1]; 
+1

Bu değişkenlerde neler olduğunu görmeye çalıştınız: 'console.log (window.location.href)' 'www.xyz.com/contact.html? Setmessagefield = some_text' ve' console.log (msg) 'size dizi vermeli:' [?setmessagefield = some_text "," some_text "]'. –

İlgili konular