Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   submit через ссылку <a> (https://javascript.ru/forum/misc/1088-submit-cherez-ssylku.html)

Phoenix 23.03.2008 09:20

scuter,
читай мой первый пост, там написано, почему так нельзя.
SelenIT,
Я уже тоже склонился к этому решению. Просто было интересно, как можно было реализовать с ссылками :)

sanjar 29.08.2008 21:01

Я тоже мучалься сделать субмит через ссылку, но нашел вот такое решение.
короче тут надобавить name . например name=super
<form action="index.php" method="post" name="super">
а в самом нужном для нас вот так
<a href=\"javascript:document.super.submit()\" >www.Mobi.Uz</a>

у меня во всех броузерах работает!

wanick 18.11.2008 11:45

ответ
 
а вообще
правильнее было бы так

если у формы можно поставить id например
<form id="test">
....
....
<a href=# onclick="document.getElementById('test').submit()" >отправить</a>
</form>

причем ссылку эту можно ставить хоть где в рамках документа
необязательно ее вхождение в <form></form>, да и сам onclik можно прописать не только к любой ссылке а вообще к любому элементу страницы.

Kolyaj 18.11.2008 12:24

Цитата:

Сообщение от wanick
да и сам onclik можно прописать не только к любой ссылке а вообще к любому элементу страницы

Только зачем вы советуете при этом использовать именно ссылку, непонятно.

SEM from Nsk 01.08.2009 08:49

Примерно так.
 
<form action=' ' method='post' enctype='multipart/form-data'>
<input type='hidden' name='id' value='$this->note_id'>
<input type='hidden' name='delete_message' value=' '>
<a href='#' onClick='submit()'>Удалить</a>
</form>

arex 17.11.2010 12:12

я так сделал
#hmenuinput:hover {
background-color: #91A2FF;
}
#hmenuinput {
background-color: #577EFF;
border: 0px;
display: block;
float:left;
color: #fff;
font-size: 12px;
line-height: 16px;
padding: 23px 15px 5px 15px;
text-decoration: none;

<form method="POST" action="/?index"><INPUT type="hidden" name="exit" value="exit"><input id="hmenuinput" type="submit" value="Сохранить и выйти"></form>

внешний вид можно сделать любой

vladkras 01.06.2011 16:04

легко побеждается 2мя сопсобами
 
<form action="" method="GET|POST">
<input ... />
<input ... />
<a href="" onClick="this.parentNode.submit(); return false;">Submit</a>
</form>
или
<form action="" method="GET|POST" id="form_ID">
<input ... />
<input ... />
</form>
<a href="" onClick="document.getElementById('form_ID').submit(); return false;">Submit</a>
если сабмит нужен за пределами формы

обратите внимание на return false, без него, естественно, это просто переход по ссылке
IE9, Chrome, FF3.6, Opera 11 - tested OK

x-yuri 02.06.2011 01:18

а можно пример ссылки, находящейся за пределами формы? И зачем делать ссылкой внутри формы, если можно использовать submit? И еще, вместо this.parentNode можно использовать this.form

nikita.mmf 02.06.2011 13:12

Если ссылка лежит внутри form, то
function submit( link ){
    var form = link.parentNode;
    while ( form && form.nodeName.toLowerCase() = ! "from" ) {
        form = link.parentNode;
    }
    if ( form ) { form.submit(); }
}

<form>
  <div>
    <a href="javascript:;" onclick="submit(this)">Submit</a>
  </div>
</form>

Если ссылка вне формы, можно использовать якорь, как указатель на форму:
function submit( link ){
    var form = document.getElementById( link.getAttribute("href").replace(/^.*#/, "") );
    if ( form ) {
        form.submit();
    }
    return false;
}

<a href="#myForm" onclick="return submit(this);">Submit</a>
<form id="myForm">...</form>

Но лучше всего использовать:
<button type="submit">Submit</button>

x-yuri 02.06.2011 14:57

лучше всего объяснять, почему что лучше, и читать, что другие пишут ;)


Часовой пояс GMT +3, время: 17:23.