2011-07-29 3 views
1

У меня есть две или более формы на одной странице. например:php-формы, как использовать несколько форм на одной странице?

<form method="post" > 
    <table border="0"> 
    <tr> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
    </tr> 
    </table> 
<input type="submit" value="get" /> 
</form> 

<form method="post" > 
    <table border="0"> 
    <tr> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
    </tr> 
    </table> 
<input type="submit" value="get1" /> 
</form> 

формы похожие, но с различным содержанием.

Что происходит, когда я нажимаю кнопку get на одной форме, все остальные формы также запускаются.

Есть ли способ дифференцировать формы, чтобы при нажатии на кнопку только форму, в которой есть эта кнопка для запуска?

редактировать: если я нажимаю на get1 форма с get получает также вызвало

благодаря

ответ

5

Должна быть активирована только форма, содержащая кнопку отправки. Вы уверены, что закрыли обе формы в HTML?

Вы можете разместить ссылку на страницу или вставить весь HTML-код?

+0

Да, вы правы. im dumb, у меня был html. благодаря – Patrioticcow

2

Вы не можете отправить более одной формы, ваша первая форма просто, вероятно, неправильно закрыты, что приводит вас в проблема

2

Если код установлен как ...

if(!empty($_POST)) {} 

, то это будет выглядеть как обе формы представляются, но на самом деле вы можете только получать данные из формы, которая была фактически представлена. Если вы поместите имя на две кнопки отправки, вы можете проверить на $_POST['submitButtonName'].

Вы можете использовать эту страницу, чтобы увидеть различия довольно легко.

http://pastie.org/pastes/2290937/text

0

Надежда этот код поможет вам. Если вы хотите отправить конкретную форму , используйте javascript или jquery. В моем случае я выберу jquery. Вот пример моего решения. Вам нужно будет изменить formid и objectid.

$("#buttonid").click(function() { 
    $("#formid").submit(); 
}); 
0

Короткий ответ: у вас действительно есть только одна форма на вашей странице.

Вы должны указать каждой своей форме имя и идентификатор, чтобы их однозначно идентифицировать.

<form name="form1" id="form1" method="post" action=""> - это способ сделать каждую из ваших форм разными. Это важно, потому что вы можете захотеть, чтобы элементы управления, кроме кнопки отправки, отправляли форму. Рассмотрю этот код в событии OnChange из выпадающего списка:

«document.forms.form1.submit()»

Это позволит сделать форму представить, как только значение выбрано в списке. Чтобы расширенные функции работали, вам нужно знать, что такое имя вашей формы. Идентификатор формы можно использовать для доступа к ней, используя document.getElementById('form1')

Наконец, не используйте таблицы для отображения ваших форм. Используйте CSS.

Надеюсь, это поможет кому-то.

Смежные вопросы