首页 > 解决方案 > 加载表单而不重新加载页面

问题描述

我在 AJAX 中迈出了第一步,在不重新加载页面的情况下发送表单时遇到了第一个问题。我想做的是“发送朋友请求”,我希望一旦发送了表单数据,“发送请求”按钮就会变为“取消请求”,但即使发送了数据,它也保持不变. “取消请求”也将是一个按钮,它只会以相反的方式执行相同的过程,而不是插入,它会删除。

<?php
  if ($estadoA['estado'] == 0){ //IF IN THE DATABASE THERE IS NO RELATIONSHIP BETWEEN USERS
    $boton="Send";
  } else {
    $boton="Cancel";
  }
  ?>

  <button id="solicitud" onclick="enviar2('<?php echo $_SESSION['user_id']?>','<?php echo $_GET['id']?>')">
     <?php echo $boton;?>
  </button>

函数.JS

    function enviar2(emisor,receptor){
  b=$('#solicitud').html();
  if(b=="Send"){
    url="../amigos/solicitud-enviada.php";

  } else {
    url="../amigos/eliminar-solicitud.php";
  }

  cadena= "emisor=" + emisor + "&receptor=" + receptor;
  alert(url);
   $.ajax({
    type:'POST',
    url:url,
    data:cadena,
    success:function(r){
      if (r!=0) {
        alert($('#solicitud').html());
        if (b=="Send"){
          $('#solicitud').html("Cancel");
        } else{
          $('#solicitud').html("Send");
        }
        alert($('#solicitud').html());
      } else {
        alert('error');
      }

    }
  });
  return false;
}

如您所见,我根据按钮 id 获得的值重定向 url 但它做错了,假设用户之间没有关系,它应该说“发送”,一旦我点击我就看到了警报,它被重定向到删除而不是在 solicitud-enviada 上,也就是说,它不满足所需的功能,尽管奇怪的是,在没有重新加载页面并再次点击按钮的情况下,它可以正确完成所有操作。这意味着加载页面时的初始值向我发送的按钮 ID 值不正确,如果您能告诉我我做错了,我将不胜感激。

标签: javascriptphpforms

解决方案


推荐阅读