Form gönderildiÄinde submit olayı tetiklenir, genellikle formu sunucuya göndermeden önce doÄrulamak veya gönderimi iptal edip JavaScriptâte iÅlemek için kullanılır.
form.submit() metodu JavaScriptâten form gönderimini baÅlatmaya izin verir. Kendi formlarımızı dinamik olarak oluÅturmak ve sunucuya göndermek için kullanabiliriz.
Daha fazla ayrıntı görelim.
Olay olarak submit kullanımı
Form göndermenin iki ana yolu vardır:
- Birincisi â
<input type="submit">veya<input type="image">alanlarına tıklamak. - İkincisi â bir giriÅ alanında (input) Entera basmak.
Her iki eylem de formda olay gönderilmesine yol açar. İÅleyici verileri kontrol edebilir ve hata varsa bunları gösterebilir ve event.preventDefault() öÄesini çaÄırabilir, bu durumda form sunucuya gönderilmez.
AÅaÄıdaki formda:
- Metin alanına gidin ve Enter tuÅuna basın.
- Tıklayın
<input type="submit">
Her iki eylem de alert gösterir ve return false olduÄu için form hiçbir yere gönderilmez.
<form onsubmit="alert('submit!');return false">
First: Enter in the input field <input type="text" value="text"><br>
Second: Click "submit": <input type="submit" value="Submit">
</form>
submit ve click arasındaki iliÅkiBir input alanında Enter kullanılarak bir form gönderildiÄinde, <input type="submit"> üzerinde bir click olayı tetiklenir.
Bu oldukça komik çünkü hiç tıklama yoktu.
Ãrnek:
<form onsubmit="return false">
<input type="text" size="30" value="Buraya tıkla ve bir Åeyler yaz sonra enter'e bas">
<input type="submit" value="Submit" onclick="alert('click')">
</form>
Metod olarak submit kullanımı
Sunucuya manuel olarak bir form göndermek için, form.submit() metodunu kullanabiliriz.
Sonra herhangi bir submit olayı oluÅturulmaz. Programcı form.submit() 'i çaÄırırsa, komut dosyasının tüm ilgili iÅlemleri zaten yaptıÄı varsayılır.
Bazen bu, aÅaÄıdaki gibi bir formu manuel olarak oluÅturmak ve göndermek için kullanılır:
let form = document.createElement('form');
form.action = 'https://google.com/search';
form.method = 'GET';
form.innerHTML = '<input name="q" value="test">';
// the form must be in the document to submit it
document.body.append(form);
form.submit();
Yorumlar
<code>kullanınız, birkaç satır eklemek için ise<pre>kullanın. EÄer 10 satırdan fazla kod ekleyecekseniz plnkr kullanabilirsiniz)