【问题标题】:Submit radio button on contact form联系表单上的提交单选按钮
【发布时间】:2020-10-13 16:39:59
【问题描述】:

使用一个非常简单的 PHP 联系表单,需要将选中的单选按钮选项添加到表单中。

所有其他字段都有效,但无法收集选择了哪个单选按钮。

这是联系表格:

<label for="name" class="name">Name:</label>
<input type="text" name="name" id="name" value="" class="required"> 

<label for="companyname" class="companyname">Company Name:</label>
<input type="text" name="companyname" id="companyname" value="" class="required">

<label for="quality1">1</label> <input type="radio" id="quality1" name="quality" value="">
<label for="quality2">2</label> <input type="radio" id="quality2" name="quality" value="">
<label for="quality3">3</label> <input type="radio" id="quality3" name="quality" value="">
<label for="quality4">4</label> <input type="radio" id="quality4" name="quality" value="">  

<input type="submit" name="submit" class="formButton" id="submit" value="Submit">

然后通过 javascript 与其他有效的字段一起提交。

$(function() {
$('.error').hide();

$(".formButton").click(function() {
  
  $('.error').hide();
    
  var name = $("input#name").val();
  
  var companyname = $("input#companyname").val();
  
  var quality = $("input#quality").val();

  var dataString = 'name='+ name + '&companyname=' + companyname + '&quality=' + quality;
    //alert (dataString);return false;
    
    $.ajax({
  type: "POST",
  url: "contact-form-to-email.php",
  data: dataString,
  success: function() {
    $('#contactFormArea').html("<div id='submitMessage'></div>");
    $('#submitMessage').html("<p>Thank you.</p>")
    .hide()
    .fadeIn(1000, function() {
      $('#submitMessage');
    });
  }
 });
return false;
});
});

从上面提交 PHP 表单。

<?php
if(!isset($_POST['submit']))
$nameErr = ' ';
$name = $_POST['name'];
$companyname = $_POST['companyname'];
$quality = $_POST['quality'];

$email_from = 'no-reply@email.co.uk';
$email_subject = "Form";
$email_body = "Form info \n". 
" \n".
"Name: $name \n".
" \n".
"Company Name: $companyname \n".
" \n".
"Quality Of Service: $quality \n".
" \n".


$to = "info@email.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $email \r\n";
mail($to,$email_subject,$email_body,$headers);
?> 

我只需要显示从“质量”字段组中选择的单选按钮。

【问题讨论】:

    标签: javascript php forms


    【解决方案1】:

    当在 PHP 端选择单选按钮时,$_POST['input_name'] 将等于选定的输入值。在您的情况下,所有单选按钮都有一个空字符串作为值。 你的代码应该是这样的

    <label for="quality1">1</label> <input type="radio" id="quality1" name="quality" value="1">
    <label for="quality2">2</label> <input type="radio" id="quality2" name="quality" value="2">
    <label for="quality3">3</label> <input type="radio" id="quality3" name="quality" value="3">
    <label for="quality4">4</label> <input type="radio" id="quality4" name="quality" value="4"> 
    

    【讨论】:

    • 谢谢,我已更新此内容,但提交时仍出现空白字段。
    • 我错过了另一个错误……var quality = $("input#quality") 未定义。您必须改用,例如,var quality = $('[name="quality"]:selected')
    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 2021-04-05
    • 2013-07-12
    • 1970-01-01
    • 2012-11-12
    • 2023-03-29
    • 2013-01-21
    • 1970-01-01
    相关资源
    最近更新 更多