【问题标题】:Ajax call won't work when onclick is present存在 onclick 时,Ajax 调用将不起作用
【发布时间】:2016-04-07 03:22:31
【问题描述】:

我正在提交一个包含文本区域的表单,该表单将由 php 脚本保存。我通过 ajax(如下)执行此操作,但也调用 onclick 另一个 javascript 函数。如果 onclick 存在,则 ajax 调用将不起作用,而当它不存在时它将起作用。我该怎么办?

<script type="text/javascript">
$("document").ready(function(){
  $(".newcomment").submit(function(){
    var data = {
      "action": "test"
    };
    data = $(this).serialize() + "&" + $.param(data);
    $.ajax({
      type: "POST",
      dataType: "json",
      url: "newcomment.php", 
      data: data,
    });
    return false;
  });
});
</script>

我的提交按钮是这样的:

<input type="submit" id="button" onclick="return hideform()"  name="submit" value="Salva">

【问题讨论】:

  • 你从 hideform 返回什么?是真是假?

标签: javascript jquery html ajax xml


【解决方案1】:

尝试将hideform()submit 合并并删除内联事件onClick

HTML:

<input type="submit" id="button" onclick="return hideform()"  name="submit" value="Salva">

JS:

$("document").ready(function(){
  $(".newcomment").submit(function(){
    hideform();  <<---- HIDE THE FORM HERE

    var data = {
      "action": "test"
    };
    data = $(this).serialize() + "&" + $.param(data);
    $.ajax({
      type: "POST",
      dataType: "json",
      url: "newcomment.php", 
      data: data,
    });
    return false;
  });
});

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多