2017-08-04 7 views
1

私は、データベース内のすべてのチャットに対してdivを印刷するページを作成し、各チャットにはフォームがアタッチされています。フォームをクリックすると、フォームは表示された入力なしで送信され、その値はPHPに送られて他のことを行います。問題は、コードが同じであっても、最初のdivのフォームだけが送信されることです。このフォームはdiv上にあり、絶対的に表示されます。 2つの形式は同じですが、私は同じPHPコードに作業してもらう必要があります。コード:HTML私の他のフォームは提出されません

<div class="chaty"> 
<form method="post" action="index.php" name="chat_lox" id="chat_loc"> 
<input type="text" name="chat_locy" 
value="5e2dbe2be3b5927c588509edb1c46f7d"> 
</form> 
<div class="chatDesc" id="84281145"> 
<div class="tit">Creator: </div> 
<div class="iriss"><i id="close_chatn" onclick="closeChat(84281145)" 
class="material-icons">close</i></div> 

<form action="mypage.php" method="post"> 


<div class="authr_name"><button value="John Brown" name="userlink" 
class="subm_as_text">Hitsuji</button></div> 
</form> 
<div class="titd"><h3>Description</h3></div> 
<div class="description_chat">jaames</div> 
</div> 


<span onclick="openChat(84281145)">☰</span> 
<div class="chatname"><h3>james</h3></div> 
<div class="chatback"></div> 
<div class="underlie"><p>Users: 1</p><p> Created: 2017/07/28 07:09:40pm</p> 
</div> 

</div> 
<!-- one that doesn't work --> 
<div class="chaty"> 
<form method="post" action="index.php" name="chat_lox" id="chat_loc"> 
<input type="text" name="chat_locy" 
value="9503e253936e716f18d9c57b4f97d618"> 
</form> 
<div class="chatDesc" id="6179276"> 
<div class="tit">Creator: </div> 
<div class="iriss"><i id="close_chatn" onclick="closeChat(6179276)" 
class="material-icons">close</i></div> 

<form action="mypage.php" method="post"> 


<div class="authr_name"><button value="Hitsuji" name="userlink" 
class="subm_as_text">Hitsuji</button></div> 
</form> 
<div class="titd"><h3>Description</h3></div> 
<div class="description_chat">The Army of JOhn</div> 
</div> 


<span onclick="openChat(6179276)">☰</span> 
<div class="chatname"><h3>John Army</h3></div> 
<div class="chatback"></div> 
<div class="underlie"><p>Users: 2</p><p> Created: 2017/07/23 11:31:06am</p> 
</div> 

</div> 

JS

$("#chat_loc").on("click",function() { 
$(this).submit(); 
alert("submitted"); 

}); 

PHP

if(isset($_POST['chat_locy']) ? $_POST['chat_locy'] : null){echo "it 
worked";} 
+2

一形態のみでは、一度に提出します。 –

+2

'id' __MUST BE UNIQUE__ –

+0

条件として三項演算子を必要とせず、単一の' isset() 'が必要です – Qirel

答えて

0

あなたは一度に一つだけのフォームを提出することができます。すべてのフォームが'chat_loc'のような同じクラスを持つようにクラスにidを変更してみてください。例えば

、これにはJavaScriptを変更します。

$(".chat_loc").on("submit", function() { 
    $(this).submit(); 
    alert("submitted"); 
}); 
+0

好きなら解決策はupvoteしてください –

関連する問題