phpでフォームを作りました。ドキュメントで 3 つの異なるフォームを使用しています。したがって、これらの形式を区別する必要があります。したがって、私は送信「名前タグ」を使用しています。
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (isset($_POST['submit_1'])) {
....
}
if (isset($_POST['submit_2'])) {
....
}
if (isset($_POST['submit_3'])) {
....
}
}
これは、これらのさまざまな送信ボタンを確認する方法です。
しかし、送信機能の代わりに JS でクリック機能を使用する必要があることに気付きました (ページのリロードでフォームを送信してはならないため)。
$('.erzaehlcafe_submit').click(function(){
if ($('#year_from').val() == 'none' || $('#month_from').val() == 'none'
|| $('#day_from').val() == 'none' || $('#topic').val() == '' || $('#contributer').val() == ''
|| $('#begin').val() == '' || $('#place').val() == '' || $('#entrance').val() == '') {
$("#dialog_empty").dialog( "open" );
return false;
}
var form = $('#erzaehlcafe_add');
var data = form.serialize();
$.ajax({
url: "index.php?section=events",
type: "POST",
data: data,
success: function (reqCode) {
alert(reqCode);
if (reqCode == 1) {
//Date inserted into DB
$("#dialog_add_event").dialog( "open" );
} else {
$("#dialog_add_event_error").dialog( "open" );
}
}
});
return false; //dont submit form
});
では、これらのフォームをどのように区別すればよいのでしょうか。(それらはすべて同じ入力に対して同じ名前を使用しています)。
この問題を解決する唯一の方法は、入力されたすべての入力に対して別の名前インデックスを定義することです。他に方法はありますか?
編集:これが私のテンプレートです(より正確にするために、erzaehlcafe_submitの代わりにsubmit_1、submit_2、submit_3などを使用したことを思い出してください)
<div id="event_accordion">
<h3><a href="#">Erzählcafé hinzufügen</a></h3>
<div>
<form id="erzaehlcafe_add" action="index.php?section=events" method="post" accept-charset="utf-8">
<table>
<tr>
<td>Datum:</td>
<td>
<select name="day_from" id="day_from">
<option value="none" class="bold italic">Tag</option>
<?php
for($i=1; $i<=31; $i++){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
?>
</select>
<select name="month_from" id="month_from">
<option value="none" class="bold italic">Monat</option>
<?php
for($i=1; $i<=12; $i++){
echo "<option value=\"".$i."\">".$month_name[$i]."</option>\n";
}
?>
</select>
<select name="year_from" id="year_from">
<option value="none" class="bold italic">Jahr</option>
<?php
for($i=2008; $i<=$year; $i++){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
?>
</select>
</td>
</tr>
<tr>
<td>Thema:</td>
<td><input type="text" name="topic" id="topic" /></td>
</tr>
<tr>
<td>Referent:</td>
<td><input type="text" name="contributer" id="contributer" /></td>
</tr>
<tr>
<td>Beginn:</td>
<td><input type="text" name="begin" id="begin" /> Uhr</td>
</tr>
<tr>
<td>Ort:</td>
<td><input type="text" name="place" id="place" /></td>
</tr>
<tr>
<td>Eintritt:</td>
<td><input type="text" name="entrance" id="entrance" /> €</td>
</tr>
</table>
<br />
<div id="add_erzaehlcafe">
<input type="submit" id="small" class="erzaehlcafe_submit" name="erzaehlcafe_submit" value="speichern">
</div>
</form>
</div>
<h3><a href="#">Vortrag hinzufügen</a></h3>
<div>
<form name="vortrag_add" action="index.php?section=events" method="post" accept-charset="utf-8">
<table>
<tr>
<td>Datum:</td>
<td>
<select name="day_from">
<option value="0" class="bold italic">Tag</option>
<?php
for($i=1; $i<=31; $i++){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
?>
</select>
<select name="month_from">
<option value="0" class="bold italic">Monat</option>
<?php
for($i=1; $i<=12; $i++){
echo "<option value=\"".$i."\">".$month_name[$i]."</option>\n";
}
?>
</select>
<select name="year_from">
<option value="0" class="bold italic">Jahr</option>
<?php
for($i=2008; $i<=$year; $i++){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
?>
</select>
</td>
</tr>
<tr>
<td>Thema:</td>
<td><input type="text" name="name_topic" id="name_topic" /></td>
</tr>
<tr>
<td>Referent:</td>
<td><input type="text" name="name_contributer" id="name_contributer" /></td>
</tr>
<tr>
<td>Beginn:</td>
<td><input type="text" name="name_begin" id="name_begin" /> Uhr</td>
</tr>
<tr>
<td>Ort:</td>
<td><input type="text" name="name_place" id="name_place" /></td>
</tr>
<tr>
<td>Eintritt:</td>
<td><input type="text" name="name_entrance" id="name_entrance" /> €</td>
</tr>
</table>
<br />
<div id="add_vortrag">
<input type="submit" id="small" class="vortrag_submit" name="vortrag_submit" value="speichern">
</div>
</form>
</div>
<h3><a href="#">Ausstellung hinzufügen</a></h3>
<div>
<form name="ausstellung_add" action="index.php?section=events" method="post" accept-charset="utf-8">
<table>
<tr>
<td>Von:</td>
<td>
<select name="day_from">
<option value="0" class="bold italic">Tag</option>
<?php
for($i=1; $i<=31; $i++){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
?>
</select>
<select name="month_from">
<option value="0" class="bold italic">Monat</option>
<?php
for($i=1; $i<=12; $i++){
echo "<option value=\"".$i."\">".$month_name[$i]."</option>\n";
}
?>
</select>
<select name="year_from">
<option value="0" class="bold italic">Jahr</option>
<?php
for($i=2008; $i<=$year; $i++){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
?>
</select>
</td>
</tr>
<tr>
<td>Bis:</td>
<td>
<select name="day_till">
<option value="0" class="bold italic">Tag</option>
<?php
for($i=1; $i<=31; $i++){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
?>
</select>
<select name="month_till">
<option value="0" class="bold italic">Monat</option>
<?php
for($i=1; $i<=12; $i++){
echo "<option value=\"".$i."\">".$month_name[$i]."</option>\n";
}
?>
</select>
<select name="year_till">
<option value="0" class="bold italic">Jahr</option>
<?php
for($i=2008; $i<=$year; $i++){
echo "<option value=\"".$i."\">".$i."</option>\n";
}
?>
</select>
</td>
</tr>
<tr>
<td>Thema:</td>
<td><input type="text" name="name_topic" id="name_topic" /></td>
</tr>
<tr>
<td>Aussteller:</td>
<td><input type="text" name="name_contributer" id="name_contributer" /></td>
</tr>
<tr>
<td>Eintritt:</td>
<td><input type="text" name="name_entrance" id="name_entrance" /></td>
</tr>
</table>
<br />
<div id="add_ausstellung">
<input type="submit" id="small" class="ausstellung_submit" name="ausstellung_submit" value="speichern">
</div>
</form>
</div>
<h3><a href="#">Termine bearbeiten/löschen</a></h3>
<div>
<button id="edit_event">Termin bearbeiten</button>
</div>