フォームに追加のフィールドフォームを追加するフォームを用意しています。選択/オプションのデータベースからデータを選択します。フォームフィールドを追加/削除する
これはうまくいきますが、完全には正しくありません。誰かがコードを見て、もっときれいな方法で行えるかどうか気にしないかと思っています。
主な問題は、selectがアクションスクリプトに正しい値を送信していないことです。フォームの
HTML出力:
<?php $dashboardId = $_GET['dashboard_id']; ?>
<form action="cm.php" method="POST">
<input type="hidden" name="dashboardId" value="<?php echo $dashboardId; ?>">
<div id="exercises">
<div class="team">
<select name="teamId[]">
<?php
$sql = "SELECT * FROM teams WHERE dashboard_id = $dashboardId";
$result = $conn->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<option value="' . $row["team_id"] . '">' . $row["team_name"] . '</option>';
}
}
?>
</select>
<button class="remove">x</button>
</div>
</div>
<button id="add_exercise">add more</button>
<br>
<input type="text" name="memberName">
<br>
<input type="submit" name="submit" value="Create Member" />
</form>
は、したがって、上記の私の簡単なフォームをレンダリングします。 2番目の部分は、追加の選択フィールドを追加するための機能を処理するJQueryです。
<script type="text/javascript">
$('#add_exercise').on('click', function() {
$('#exercises').append('<div class="team"><select name="teamName[]"><?php
$sql = "SELECT * FROM teams WHERE dashboard_id = $dashboardId";
$result = $conn->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<option value="' . $row["team_id"] . '">' . $row["team_name"] . '</option>';
}
}
?> </select><button class="remove">x</button></div>');
return false; //prevent form submission
});
$('#exercises').on('click', '.remove', function() {
$(this).parent().remove();
return false; //prevent form submission
});
</script>
今ではしかし、私はそれを分離する方法を他にわからないPHPでのjQueryを組み合わせたソリューションのneatestではありません見ることができるように?私は、生成の選択は、私はそれがSQLインジェクションに開いているが、今の私は、これは少し作るしようとしています完全に承知しています、それは["teamId"]=> array(1) { [0]=> string(3) "211"
を渡すべきである["teamName"]=> array(1) { [0]=> string(3) "211"
を渡すことがわかりvar_dump($_POST)
を行うときに何が起こっていることです一部の仕事。
アップデート - チームテーブルscehema
「チーム」テーブルのスキーマを教えてください。 – x3ns
1. button type = "button"を作ります。2.決して 'name =" submit "をフォームで呼んではいけません。それは、イベントハンドラを壊すでしょう3.エディタで '<>'ボタンをクリックして、レンダリングされたHTMLを[mcve]に投稿してください。 – mplungjan
ボタンをクリックしてajaxを使用して、Ajaxを使用してドロップダウンデータと追加情報を取得してみてください....私はそれが作品だと思う –