Как отправить форму с <li>вместо кнопки отправки? - PullRequest
5 голосов
/ 31 января 2011

Я хочу иметь возможность отправить форму, но вместо того, чтобы нажимать кнопку отправки, я хотел бы иметь возможность щелкнуть элемент <li> и отправить его.

Любая помощь будет БОЛЬШОЙ!

Заранее спасибо!

Ncoder

Ответы [ 6 ]

5 голосов
/ 31 января 2011

Вы можете поместить событие onclick в LI, которое вызывает событие отправки форм:

<form id="myForm" action="foo.htm" method="post">  
  <ul>
    <li onclick="myForm.submit();">Click me</li>
  </ul>
</form>

Ваша форма будет нестандартной и не очень доступной.

2 голосов
/ 31 января 2011

<li onclick="formName.submit();">

Хотя вышеуказанный метод будет работать, кажется, такое странное требование, и я бы посоветовал переосмыслить логику программы.

1 голос
/ 31 января 2011

Добавьте click обработчик к элементу <li> и используйте javascript для отправки формы document.getElementById('formid').submit();

1 голос
/ 31 января 2011

JavaScript.

Связать событие onclick элемента. Получить ссылку на форму.

var frm = document.getElementById('formid');

Отправить.

frm.submit()
0 голосов
/ 02 августа 2013

Мне кажется, я пытался сделать что-то очень похожее на вас, но я решил написать «правильный» способ. Вот альтернативный подход, который в основном стилизует кнопку отправки как элемент li.

HTML / Coldfusion

<div id="student_options">
<ul>
    <cfoutput query="student_specs">
        <cfif #currentStudent# IS NOT #student_specs.GS1FNFP#>
            <form action="" method="POST" name="dropdown">
                <input type="hidden" name="change_stnum" value="#Trim(student_specs.STNUM)#" />
                <input type="submit" name="submit_stu_change" value="#Trim(student_specs.GS1FNFP)#" />
            </form>
        </cfif>
    </cfoutput>
</ul>
</div>

CSS

#student_options input[type="submit"] {
    padding:15px 20px 15px 20px;
    font-size:90%;
    color:#555;
    background-color:#eee;
    display:block;
    width:100%;
    text-align:left;
}

#student_options input[type="submit"]:hover {
    background-color:#F4F4F4;
    cursor:pointer;
}

Вам придется настраивать элементы по своему вкусу, но это лучший подход, чем использование JavaScript для отправки формы.

0 голосов
/ 31 января 2011
<form id="myForm">
...

<li id="something" onclick="mySubmit();"><p>hello world!</p></li>
...
</form>
<script type="text/javascript">
   function mySubmit(){
   document.getElementById("myForm").submit();
}</script>
...