Страница 1 из 1

субмит формы по ссылке вместо кнопки

Добавлено: 2007-09-26 11:59:33
OSBoy
Вот имеется примерно такая форма:

Код: Выделить всё

<form action="[~[*id*]~]" method="POST">
<table cellpadding="0" callspacing="0">
<tr>
<td class="wlleft">Логин: </td>
<td class="wlright"><label for="wlpeUsername"><input class="wlright" type="text" name="username" /></label></td>
</tr>
<tr>
<td class="wlleft">Пароль: </td>
<td class="wlright"><label for="wlpePassword"><input class="wlright" type="password" name="password" /></label></td>
</tr>
<tr>
<td colspan=2 class="wlcenter">
<button type="submit" name="service" value="login">Войти</button>
</td>
</tr>
<tr>
<td colspan=2>
<button type="submit" name="service" value="forgot">Forgot Password</button><br>
<button type="submit" name="service" value="registernew">Register</button>
</td>
</tr>
</table>
</div>
</form>
Вот как тут заменить кнопки "Forgot Password" и "Register" на простые ссылки?
Я смотрел примеры типа:

Код: Выделить всё

<a href="javascript: document.forms['formname'].submit();"> GO </a>
Но тут всё привязано к name. А у меня то три кнопки в одной форме, причём каждая из них - type="submit" name="service", а отличаются только значением Value. Что можно сделать в моём случае?

Re: субмит формы по ссылке вместо кнопки

Добавлено: 2007-09-26 14:21:44
Alex Keda
имя поменять.
а на строне сервера разбирать чё прислали.
для упрощения можно добавить hidden поля

Re: субмит формы по ссылке вместо кнопки

Добавлено: 2008-01-12 11:20:42
mephius
а если очень не хочется трогать серверную сторону, то можно js-ом кликать на нужную кнопку, которую (чтоб не видно было) вынести куда-нить за экран

Код: Выделить всё

<form action="[~[*id*]~]" method="POST">
<table cellpadding="0" callspacing="0">
<tr>
<td class="wlleft">Логин: </td>
<td class="wlright"><label for="wlpeUsername"><input class="wlright" type="text" name="username" /></label></td>
</tr>
<tr>
<td class="wlleft">Пароль: </td>
<td class="wlright"><label for="wlpePassword"><input class="wlright" type="password" name="password" /></label></td>
</tr>
<tr>
<td colspan=2 class="wlcenter">
<button type="submit" name="service" value="login">Войти</button>
</td>
</tr>
<tr>
<td colspan=2>
<button type="submit" id="fgt-button" style="position: absolute; top: -100px; left: -100px" name="service" value="forgot">Forgot Password</button><br>
<button type="submit" id="reg-button"style="position: absolute; top: -100px; left: -100px" name="service" value="registernew">Register</button>
<a href="#" onclick="document.getElementById('fgt-button').click(); return false">Forgot Password</a><br />
<a href="#" onclick="document.getElementById('reg-button').click(); return false">Register</a>
</td>
</tr>
</table>
</div>
</form>
или вот так (используя хидден поле и меняя ему значение):

Код: Выделить всё

<form id="frm" action="[~[*id*]~]" method="POST">
<input type="hidden" name="service" id="service" value="" />
<table cellpadding="0" callspacing="0">
<tr>
<td class="wlleft">Логин: </td>
<td class="wlright"><label for="wlpeUsername"><input class="wlright" type="text" name="username" /></label></td>
</tr>
<tr>
<td class="wlleft">Пароль: </td>
<td class="wlright"><label for="wlpePassword"><input class="wlright" type="password" name="password" /></label></td>
</tr>
<tr>
<td colspan=2 class="wlcenter">
<button type="submit" name="service" value="login">Войти</button>
</td>
</tr>
<tr>
<td colspan=2>
<!-- Кнопки убираем //-->
<a href="#" onclick="document.getElementById('service').value='forgot'; document.getElementById('frm').submit(); return false">Forgot Password</a><br />
<a href="#" onclick="document.getElementById('service').value='registernew'; document.getElementById('frm').submit(); return false">Register</a>
</td>
</tr>
</table>
</div>
</form>
Вариантов масса :)

Re: субмит формы по ссылке вместо кнопки

Добавлено: 2008-01-12 17:12:34
paranoidchaos
можешь сделать как я
вставляю дополнительное хидден поле и при нажатие на какую-либо из кнопок присваивать этому хиддену значение

Код: Выделить всё

<form action="index.php" name="forma" method="POST">
<input type="button" value="DELETE" onclick="document.getElementByID('hid').value = 'delete'; document.forms['forma'].submit()">
<input type="button" value="UPDATE" onclick="document.getElementByID('hid').value = 'update'; document.forms['forma'].submit()">
<input type="hidden" id="hid" name="action" value="#">
</form>
вот и всё
а на php можна так

Код: Выделить всё

if(isset($_POST['action']) && !empty($_POST['action'])){
   
    switch($_POST['action']){
              case 'delete': // action delete
                                  break;
              case 'update': // action update
                                   break;
    }
}