Как отправить форму с помощью javascript с "этим"
Есть ли способ представить текущую форму, в которой у меня есть ссылка href, как это
<a href="javascript:;" onclick="this.submit();">Save</a>
Я хочу использовать тот же код evrywhere, поэтому я не могу использовать какой-либо идентификатор или класс
6 ответов:
Отправить форму с помощью
this.form.submit()
То есть в вашем случае это будет похоже на
<a href="#" onclick="this.form.submit();">Save</a>
Но настоятельно рекомендуется использовать имя формы
В противном случае, если вам удобно использовать jquery, вы также можете использовать jquery самый близкий функция
$(field).closest("form").submit();
<a href="" onclick="!function(a){while(a&&a.nodeName!="FORM")a=a.parentNode;if(a)a.submit();}(this);"></a>
Я использую это решение для неизвестного имени формы:
function submitForm(originator) { var pN=originator.parentNode; while (true) { if (pN&&pN.nodeName=='FORM') { pN.submit(); break; } pN=pN.parentNode; } }
И теперь на любом событии объекта документа мы можем использовать эту функцию:
<div onclick="doSomething();submitForm(this)">test</div>
Чего вы хотите, так это:
<a href="javascript:;"onclick="document.forms.<formname>.submit();">Save</a>
На самом деле это, кажется, работает, когда
<formname>
также заменяется идентификатором формы.Хотя я настоятельно рекомендую вам изучить практику, известную как ненавязчивый Javascript