javascript - Jquery 单选按钮提交多次重复相同的值

标签 javascript php jquery mysql

我在创建报告系统时遇到问题。计划是这样的:用户有 4 个 radio 可供选择,然后提交其中之一。第一次提交只在 mysql 中插入一行,但之后的每次提交都会插入越来越多的行。这是代码:

profile.php

<form id="myform">
  bully<input type="radio" id='radio<?php echo $outid; ?>' name="nein" class='radspam' value="bulinput"> </input><br>
  spam<input type="radio" id='radio<?php echo $outid; ?>'  name="nein" class='radspam' value="spaminput"> </input><br>
  viol<input type="radio" id='radio<?php echo $outid; ?>'   name="nein" class='radspam' value="vioinput"> </input><br>
  pron<input type="radio" id='radio<?php echo $outid; ?>'  name="nein" class='radspam' value="pcont_input"> </input>        
</form>

///jquery code
$(".report").click(function(){
  var parent=$(this).parent().attr("id");
  var split=parent.split("output");
  var id=split[1];
  loading();
  closeloading(); // fadeout loading

  $(".torep").fadeIn("fast"); // fadein popup div
  $("#backgroundPopup").css("opacity", "0.7"); // css opacity, supports IE7, IE8
  $("#backgroundPopup").fadeIn("fast");

  $("input:radio[name=nein]").click(function() {
    $(".repyes").removeAttr("disabled");
  }); 

  $(".repyes").click(function(){
    var username="<?php echo $username; ?>";
    var valara = $('input:radio[name=nein]:checked').val();

    $.ajax({
      url:"s/report.php",
      data:"username=" + username + "&what=" + valara + "&whatid=" + id,
      type:"POST",
      success:function(data){
        alert(data);
        $(this).prop('checked', false);
      }
    });

  });

});

报告.php

<?php
  include "db.php";

  IF (isset($_POST['whatid'])){
    $what=$_POST['what'];
    $reported=$_POST['username'];
    $whatid=$_POST['whatid'];

    $sql=mysql_query("INSERT INTO report(reported,what,whatid,date) VALUES ('$reported','$what','$whatid',now())");

    if (mysql_affected_rows() == 1){
      echo "udje";
    }else{
      echo mysql_error();
    }
  }
?>

最佳答案

id 移至全局范围。并将 click 事件分配给 $(".report").click() 之外的 .repyes:

var _id = null;
$(".report").click(function(){
  var parent=$(this).parent().attr("id");
  var split=parent.split("output");
  _id = split[1];
  loading();
  closeloading(); // fadeout loading

  $(".torep").fadeIn("fast"); // fadein popup div
  $("#backgroundPopup").css("opacity", "0.7"); // css opacity, supports IE7, IE8
  $("#backgroundPopup").fadeIn("fast");
  $(".report").click(function() {
    $("input:radio[name=nein]").click(function() {
      $(".repyes").removeAttr("disabled");
    }); 
  });
});
$(".repyes").click(function(){
    var username="<?php echo $username; ?>";
    var valara = $('input:radio[name=nein]:checked').val();

    $.ajax({
      url:"s/report.php",
      data:"username=" + username + "&what=" + valara + "&whatid=" + _id,
      type:"POST",
      success:function(data){
        alert(data);
        $(this).prop('checked', false);
      }
    });
});

关于javascript - Jquery 单选按钮提交多次重复相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20741748/

相关文章:

javascript - slider 内容随 slider 一起移动

php - SQL Select -- 检查值是否在逗号分隔列表中 -- PHP

jquery - 500(内部服务器错误)ajax 和 laravel

javascript - 如何使用 json 形式的参数重定向到同一页面

javascript - 在 django 模板的内部 css 中使用上下文变量

javascript - 从 &lt;script&gt; 标记中删除类型会在任何浏览器中中断吗?

javascript - 即使在应用 AJAX 后页面仍在重新加载

php - 为什么我的 binary(64) 60 字符密码哈希在 phpmyadmin 中显示为 60 个字符,但在导出时最后有四个 '\0'?

php - 敏感数据的基本安全加密?

javascript - jQuery - 从下拉列表中更改选项时显示加载符号