【问题标题】:PHP not retrieving value from radio input [duplicate]PHP没有从无线电输入中检索值[重复]
【发布时间】:2019-11-26 19:05:54
【问题描述】:

我正在尝试通过 PHP 检索无线电模块的值,但该变量似乎没有获取该值。

“showhidediv”和“hidediv”是脚本中的函数,用于根据您按下的单选按钮显示和隐藏字段。不应该是我遇到此问题的原因。

我对编码很陌生,所以请保持简单。感谢您的帮助!

不要介意 xxx_status 变量。我只是用它们来尝试查找错误。此刻弹出了 else echo 的东西,我猜这告诉我 rGroup 没有从要打印为 rGroup 变量的 HTML 中获取值“direkt”。我希望 $rGroup 变量从收音机打印值。目前,它不接收“direkt”、“senare”或“maila”。目前,我收到填写的联系表格的电子邮件显示“何时为空”,这意味着我的 rGroup 变量没有值,对吧?

其他变量工作正常。我已经提交了日期变量,您可以查看它。

一路下来,我还提交了我没有放入变量的 JS,但这应该没关系吧?我认为这只是某种提交检查。

非常感谢。

/* The HTML */

<div class="radios">
<input type="radio" name="rgroup" value="direkt" id="1" 
onclick="hidediv('time'); hidediv('date'); hidediv('date-text'); 
hidediv('time-text');"/>
<label class="radio" for="1">Direkt</label>

<input type="radio" name="rgroup" value="senare" id="2" 
onclick="showhidediv('time'); showhidediv('date'); showhidediv('date-text'); showhidediv('time-text');"/>
<label class="radio" for="2">Senare:</label>

<input type="radio" name="rgroup" value="maila" id="3" 
onclick="hidediv('time'); hidediv('date'); hidediv('date-text'); 
hidediv('time-text');"/>
<label class="radio" for="3">Maila mig istället</label>
        </div>

<div class="form-group">
            <div class="controls" id="date-text" style=display:none >
                <h6>Datum:</h6>
              <input type="date" value="2019-mm-dd" class="form-control" id="date"  required data-error="Ange ett datum">
              <div class="help-block with-errors"></div>
            </div>


/* The PHP */

// När ska vi höra av oss
    $rGroup =$_POST["rGroup"];

    $direkt_status ="unchecked";
    $senare_status ="unchecked";
    $maila_status ="unchecked";

    $radio_var= ($_POST["rGroup"]);

    if ($rGroup =="direkt"){
        $direkt_status="checked";
    }
    else {
        echo "Incorrect";
    }

    // DATE
    if (isset($_POST["date"])) {
        $date = $_POST["date"];
    } else {
        $errorMSG = "Ange datum ";
    }

// prepare email body text
    $Body = "";
    $Body .= "Name: ";
    $Body .= $name;
    $Body .= "\n";
    $Body .= "Email: ";
    $Body .= $email;
    $Body .= "\n"; 
    $Body .= "Phone: ";
    $Body .= $phone;
    $Body .= "\n";
    $Body .= "When: ";
    $Body .= $rGroup = $rGroup ? $rGroup:"When is empty";
    $Body .= "\n";
    $Body .= "När ska vi höra av oss: ";
    $Body .= $direkt_status = $direkt_status ? $direkt_status:"Radio is empty";


  /* The JS */
function submitForm(){
    // Initiate Variables With Form Content
    var name = $("#name").val();
    var email = $("#email").val();
    var phone = $("#phone").val();
    var date = $("#date").val();
    var time = $("#time").val();
    var msg_subject = $("#msg_subject").val();
    var message = $("#message").val();
    var rgroup = $(":radio[name=rgroup]:checked").val();

    $.ajax({
        method: "POST",
        url: ajcf.ajaxurl, 
        data:  {
            action: 'ajcf_sentemail',
            name: name,
            email: email,
            phone: phone,
            date: date,
            time: time,
            msg_subject: msg_subject,
            message: message,
            rgroup: rgroup
        }, 
        success : function(text){
            if (text == "success"){
                formSuccess();
            } else {
                formError();
                submitMSG(false,text);
            }
        }
    });
}

【问题讨论】:

    标签: php jquery html


    【解决方案1】:

    您没有在 AJAX 调用中发送所选单选按钮的值。使用$(":radio[name=rGroup]:checked").val() 获取此信息。

    function submitForm() {
      // Initiate Variables With Form Content
      var name = $("#name").val();
      var email = $("#email").val();
      var phone = $("#phone").val();
      var date = $("#date").val();
      var time = $("#time").val();
      var msg_subject = $("#msg_subject").val();
      var message = $("#message").val();
      var rgroup = $(":radio[name=rgroup]:checked").val();
    
      $.ajax({
        method: "POST",
        url: ajcf.ajaxurl,
        data: {
          action: 'ajcf_sentemail',
          name: name,
          email: email,
          phone: phone,
          date: date,
          time: time,
          msg_subject: msg_subject,
          message: message,
          rGroup: rgroup
        },
        success: function(text) {
          if (text == "success") {
            formSuccess();
          } else {
            formError();
            submitMSG(false, text);
          }
        }
      });
    }

    【讨论】:

    • 非常感谢,我相信一定要进去!但是,我仍然没有得到展示的价值。我将更新代码,以便您查看我的新版本。
    • name=rGroup 的大小写不正确。立即尝试。
    • 哇哦!我意识到大写字母 G 是个坏主意,所以我回去改变了一切。非常感谢你花时间和帮助。非常感谢。
    猜你喜欢
    • 2012-03-24
    • 2015-09-20
    • 1970-01-01
    • 2015-10-26
    • 2021-09-23
    • 2013-08-16
    • 2013-05-17
    • 1970-01-01
    • 2020-02-16
    相关资源
    最近更新 更多