javascript - 根据是否提交表单或单击 div,通过 AJAX 调用发送不同的数据

标签 javascript jquery html ajax

我有一个名为 search 的函数,它是通过单击的 div 或提交的表单来调用的。

当单击 div 时,它的 id 将通过 AJAX 调用作为数据发送。但是我想要做的是,如果提交了表单,则通过 AJAX 调用发送输入的数据。

我想过有两个函数和AJAX调用,但我觉得这是不必要的,必须有一个简单的解决方案。

<div id="12" class="question"></div>
<div id="24" class="question"></div>
<div id="11" class="question"></div>

<form id="question" method="post">
<input type="text" name="enter" id="enter">
<input type="submit">
</form>

<script>
$(".question").click(search);
$("form#question").submit(search);

function search() {
   $.ajax({
      type: "POST",
      url: "sending.php",
      data: "example=" + this.id,
      success: function(data) {
         console.log(data);
      }
   });
}
</script>

最佳答案

您可以使用is函数检查您点击的内容:

var isDiv = $( this ).is( "div" );
// or 
// var isForm = $( this ).is( "form" );

然后决定发送什么内容:

data: isDiv ? ("example=" + this.id) : $( this ).serialize(),

简化:

data: $( this ).is( "div" ) ? ("example=" + this.id) : $( this ).serialize(),

关于javascript - 根据是否提交表单或单击 div,通过 AJAX 调用发送不同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44863306/

相关文章:

php - 如何在jquery中获取php echo数据

html - CSS 下划线动画不起作用

html - 从自定义样式 radio 中删除 "border"

JavaScript 对象中的多个数组

javascript - 如何使用 Angular JavaScript 从(php 编码的 json)获取值?

javascript - 在 DOM 中移动更多具有相同类的元素

html - 需要帮助理解在我的 CSS 中一起使用 ID 和类

javascript - javascript中,按位或运算时是否使用iee-754作为存储格式?

JavaScript fetch 然后 innerHTML 问题

javascript - 为搜索功能 jquery 追加输入文本字段