所以我無法解決的問題是,我有一個PHP腳本,從db中的聊天表中選擇所有的東西,並使其成爲一個div一班'chaty'。 chaty的有一個「隱形」的形式,其中有一個聊天索引值的輸入。非常混亂。所以從根本上說,當我點擊div chaty的一部分時,由於jquery onclick(只有輸入不顯示任何內容)而被提交。有一個聊天搜索,它使用ajax查詢它接收提交上的每個關鍵更改的數據,然後按名稱打印聊天。打印出的聊天內容不會在您點擊時在其中提交表單。這裏是前後的chaty div和js代碼。 代碼: 聊天中得知被submited:我點擊div時沒有提交表單裏面的js
<div class="chaty">
<form method="post" action="index.php" name="chat_lox" class="chat_loc">
<input id="disspell" type="text" name="chat_locy" v
value="5e2dbe2be3b5927c588509edb1c46f7d">
</form>
<div class="chatDesc" id="14025298">
<div class="tit">Creator: </div>
<div class="iriss"><i id="close_chatn" onclick="closeChat(14025298)"
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(14025298)">☰</span>
<div class="chatname"><h3>james</h3></div>
<div class="chatback"
style="background:url
(cimages/1Hitsujib4cc344d25a2efe540adbf2678e2304c1501268980.jpg);
background-size: cover;
background-repeat: no-repeat;
background-position: 50% 50%;"></div>
<div class="underlie"><p>Users: 2</p><p> Created: 2017/07/28 07:09:40pm</p>
</div>
</div>
聊天,不得到submited:
<div class="chaty">
<form method="post" action="index.php" name="chat_lox" class="chat_loc">
<input id="disspell" type="text" name="chat_locy" value="5e2dbe2be3b5927c588509edb1c46f7d">
</form>
<div class="chatDesc" id="55876362" style="display: none; width: 0px;">
<div class="tit">Creator: </div>
<div class="iriss"><i id="close_chatn" onclick="closeChat(55876362)" 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(55876362)">☰</span>
<div class="chatname"><h3>james</h3></div>
<div class="chatback" style="background:url(cimages/1Hitsujib4cc344d25a2efe540adbf2678e2304c1501268980.jpg); background-size: cover;
background-repeat: no-repeat;
background-position: 50% 50%;"></div>
<div class="underlie"><p>Users: 2</p><p> Created: 2017/07/28 07:09:40pm</p></div>
</div>
JS:
$(".chat_loc").on("click",function() {
$(this).submit();
alert("submitted");
});
謝謝
爲什麼?如果div是在js實例化之後創建的,但是它表示第一個HTML塊工作,第二個塊由PHP生成(這會在瀏覽器甚至看到它之前生成標記),這是有道理的。 – Octopus
這就是使用事件委託的原因(在動態生成的元素上應用事件)。請檢查鏈接 –