页面在警报窗口

时间:2016-07-04 05:52:21

标签: javascript php jquery alert

这是假设使用jQuery获取已检查无线电的ID,并$_POST['points']

获取echoadd.php

add.php:

  <div class="col-md-10">
    <form role="form" method="POST">
      <div class="radio">
        <label><input type="radio" name="optradio" id="1"> Leadership </label>
        <label><input type="radio" name="optradio" id="2"> Management </label>
        <label><input type="radio" name="optradio" id="3"> Distribution </label>
      </div>

      <div>
      <?php
        if (isset($_POST['points'])) 
        {
          echo $_POST['points']." is the value";
        }
        else
          echo 'none';
      ?>
      </div>
    </form>
  </div>

使用Javascript:

$("input[type=radio]").on("click",function()
{
    var value=($('input[type=radio]  [name=optradio]:checked').attr('id'));

    $.post("./add.php", {points: value}, function(data)
    {
      alert(data);
    });
});

但是,每次单击单选按钮时,它都会显示一个警告弹出窗口,并重新加载整个add.php代码 INSIDE 警告弹出窗口,而不是通过{{1}回显它在$_POST['points']中。 警报弹出窗口中的页面回声add.php和值'none'正确无误。

*注意:JS文件已经加载

我发现它回声$_POST['points'],因为尚未检查/点击单选按钮。但是,单击单选按钮后页面不会加载,但页面会在警报窗口中重新加载。

我有什么遗失的东西,或者我应该做的不是警报吗? 要么 是否有另一种获取已检查无线电的ID的方法?

  
    
      
        
          
            

编辑&LT;&LT;&LT;&LT;&LT;&LT;             可能大多数人建议使用.text而不是echo来显示数据。我真正想要做的是保存$ _POST ['points']的值。             该值已保存,但页面将在警报窗口中重新加载。

          
        
      
    
  
none

4 个答案:

答案 0 :(得分:1)

您需要在脚本中更改两件事:

1)使用$('input[name=optradio]:checked').attr('id')获取ID

2)在帖子请求中使用'points'代替分数

$("input[type=radio]").on("click",function()
  {   
      var value=($('input[name=optradio]:checked').attr('id'));

      $.post("viewport.php", {'points': value}, function(data)
      {
        alert(data);
      });
  });

答案 1 :(得分:1)

你不需要ajax:

<div class="col-md-10">
    <form role="form" method="POST">
      <div class="radio">
        <label><input type="radio" name="optradio" id="1"> Leadership </label>
        <label><input type="radio" name="optradio" id="2"> Management </label>
        <label><input type="radio" name="optradio" id="3"> Distribution </label>
      </div>

      <div class="result">
      none
      </div>
    </form>
  </div>

js:

$("input[type=radio]").on("click",function()
{   var value = 'none';
        value = $('input[type=radio]  [name=optradio]:checked').attr('id');
    $('.result').text(value+'is the value')
});

答案 2 :(得分:1)

由于您使用的$ .post调用相当于$ .ajax(type:post)调用,因此服务器将返回与您在url中键入add.php时相同的响应。

您不必进行ajax调用,只需使用javascript / jQuery编写id。

$("#some-text-container").text(value);

插入此而不是发布电话。

答案 3 :(得分:0)

请试试这个:

<?php
  if (isset($_POST['points'])) 
  {
      echo $_POST['points']." is the value";
  }
  else
          ?>
<div class="col-md-10">
    <form role="form" method="POST">
      <div class="radio">
        <label><input type="radio" name="optradio" id="1"> Leadership </label>
        <label><input type="radio" name="optradio" id="2"> Management </label>
        <label><input type="radio" name="optradio" id="3"> Distribution </label>
      </div>

      <div>
      </div>
    </form>
  </div>
<?php } ?>