当我想从下面的表单输入中检索值时,我遇到了问题.如果在使用onclick事件的模式对话框中,您能告诉我从输入表单中检索值的方法吗?

function add_rute(x, y) {
  var hari = $("input[name=hari]").val();
  var rute = $("input[name=rute]").val();
  console.log(hari);
}
<?php
  $query = "SELECT * FROM  LTSUB_itin order by id ASC";
  $rs = mysqli_query($con, $query);
  while ($row = mysqli_fetch_array($rs)) {
?>
  <button type="button" class="btn btn-danger btn-sm" data-toggle="modal" data-target="#exampleModal<?php echo $row['id']  ?>">
    <i class="far fa-calendar-plus"></i>
  </button>
  <div class="modal fade" id="exampleModal<?php echo $row['id'] ?>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">ADD DAY ID :
            <?php echo  $row['id'] ?>
          </h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>
        <div class="modal-body">
          <form>
            <div class="row">
              <div class="col">
                <label for="hari">day </label>
                <input type="text" class="form-control" id="hari" name="hari" placeholder="Select Day">
              </div>
              <div class="col">
                <label for="rutet">Rute</label>
                <input type="text" class="form-control" id="rute" name="rute" placeholder="rute">
              </div>
            </div>
          </form>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">Cancel</button>
          <button type="button" class="btn btn-success btn-sm" onclick="add_rute(<?php echo $row['id'] ?>,<?php echo $row['master_id'] ?>)">Submit</button>
        </div>
      </div>
    </div>
  </div>
<?php } ?>

推荐答案

不要在您的HTML中使用onclick或其他onX个事件属性中的任何一个.他们不是很好的练习.

此外,如果您使用循环来创建重复内容,请不要在该循环内的HTML中放置id个属性.id must是唯一的.在这些元素上使用class.

完成所需操作的现代方法是以不引人注目的方式附加事件,并使用对引发该事件的元素的引用遍历DOM以找到要从中获取值的相关input.

如果您需要知道与PHP循环中的实体相关联的idmaster_id,那么您可以将这些值作为data属性应用到HTML中.大概是这样的:

<!-- within the PHP loop: -->
<div class="modal-footer">
  <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">Cancel</button>
  <button type="button" class="btn btn-success btn-sm" data-id="<?php echo $row['id'] ?>" data-master-id="<?php echo $row['master_id'] ?>">Submit</button>
</div>
$('.submit').on('click', e => {
  const $button = $(e.target);
  const $modalBody = $button.closest('.modal-footer').prev('.modal-body');
  const id = $button.data('id');
  const masterId = $button.data('master-id');
  const hari = $modalBody.find('.hari').val();
  const rute = $modalBody.find('.rute').val();

  // work with the values here:
  console.log(id, masterId, hari, rute);
});

Javascript相关问答推荐

如何在Jest中调用setupFile下列出的文件所需的函数?

如何按预期聚合SON数据?

如何通过在提交时工作的函数显示dom元素?

如何使用侧边滚动按钮具体滚动每4个格?

Angular中计算信号和getter的区别

如何在Angular中插入动态组件

无法在nextjs应用程序中通过id从mongoDB删除'

D3 Scale在v6中工作,但在v7中不工作

嵌套异步JavaScript(微任务和macrotask队列)

如何在mongoose中链接两个模型?

实现JS代码更改CSS元素

还原器未正确更新状态

使用Google API无法进行Web抓取

为什么123[';toString';].long返回1?

TypeError:无法分解';React2.useContext(...)';的属性';basename';,因为它为空

为什么我的自定义元素没有被垃圾回收?

创建以键值对为有效负载的Redux Reducer时,基于键的类型检测

在Java脚本中录制视频后看不到曲目

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

如何让SVG图标在被点击和访问后改变 colored颜色 ,并在被访问后取消点击时恢复到原来的 colored颜色 ?