javascript - 单击时我的 div 不会使用 js 提交其中的表单

标签 javascript php html css forms

所以我无法解决的问题是我有一个 php 脚本,它从数据库中的聊天表中选择所有内容,并将其放入一个类为“聊天”的 div 中。 chaty 有一个“不可见”的形式,它有一个带有聊天索引值的输入。相当困惑。所以基本上当我点击部分 div 时,由于 jquery onclick(仅输入不显示),内部表单被提交。有一个使用 ajax 查询的聊天搜索,它接收提交时每个键更改的数据,然后按名称打印聊天。当您单击时,打印出来的聊天不会提交其中的表格。这是前后的聊天 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>

未提交的聊天:

<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");
 });

谢谢

最佳答案

你必须使用 event-delegation -

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

关于javascript - 单击时我的 div 不会使用 js 提交其中的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45743295/

相关文章:

javascript - 每次单击同一个按钮如何播放不同的视频?

javascript - 在 Web 浏览器环境中执行时,JavaScript 是否被编译为机器代码?

javascript - 想要将函数参数传递到 JavaScript 中的 setTimeout 调用的最佳方式的模式

javascript/jquery - 识别从缓存加载

c# - 使用 Google 文档 API

php - 如何从解析数据库中的表中获取不同的键?

jquery - 将带有 onchange 的选择转换为 ul 和 jquery

javascript - 在 js 中获取我今天之前访问过该网站的值

PHP/Google Maps API - 验证街道地址和标准化/防止重复的最简单方法?

html - 在其他 Div 之上排序 Raphaël 绘图的问题