【问题标题】:Removed for lack of support因缺乏支持而被删除
【发布时间】:2016-04-02 18:55:02
【问题描述】:

由于 Stack Overflow 社区缺乏友好且有用的回应,OP 删除了问题。

【问题讨论】:

  • 如果你不需要去新页面,为什么不直接使用javascript来阻止按钮的默认行为,并通过AJAX提交数据呢?然后,您可以根据响应更新页面。
  • 首先,它并没有明确说明。它表明您正在这样做(不清楚),但这并不意味着您需要。其次,如果正确完成,没有代码是不可维护的。最后,如果需要,您可以禁用 ctrl 键(如果需要,还可以禁用任何其他键,以及右键单击)。答案如下。最好的方法是使用 AJAX,如果你不害怕它,这并不难。

标签: javascript php jquery html forms


【解决方案1】:

您可以使用以下代码禁用 Ctrl 单击:

$("#submit-btn-id").click(function (e) {
  // If there's a ctrl key pressed while clicking, please stop the event.
  if (e.ctrlKey)
    return false;
});

或者更好的方法是使用 AJAX。你可以在form的提交事件上绑定一个AJAX函数:

$("form").submit(function (e) {
  e.preventDefault();
  $.post("action.php", $(this).serialize(), function (data) {
    alert(data);
  });
});

【讨论】:

    【解决方案2】:

    只需从表单标签中删除该操作即可

    $_SERVER['PHP_SELF'];
    

    你可以这样做

    <form action="" enctype="multipart/form-data" method="post" class="class" id="id" autocomplete="off">
        <input type="text">
        <input type="submit" value="SUBMIT">
    </form>
    

    或者你可以这样做

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post" class="class" id="id" autocomplete="off">
        <input type="text">
        <input type="submit" value="SUBMIT">
    </form>
    

    AJAX

    $(document).ready(function() {
        $('#form_id').submit(function() {
             $.ajax({
                 url: 'your_page.php // and if it this page just put it's name.php',
                 data: {field1: value1, field2: value2},
                 type: 'post',
                 dataType: 'json',
                 beforeSend: function() {
                     // do something like show the loading,,,
                 },
                 success: function() {
                     // do something after the request has status of 200,,,
                 },
                 error: function() {
                     // do something if the request has error like 400, 500 server internal error/ page not found etc,,,
                 },
                 complete: function() {
                     // do something finish,,,
                 },
             });
             return false;
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 2015-08-03
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      相关资源
      最近更新 更多