php - jQuery、Ajax、PHP 两个复选框

标签 php html ajax jquery

我无法访问输入复选框 Material 。我的代码有问题。请帮我。我的 textarea 工作正常,但 checkbox_material 从未开始设置。请帮我弄清楚问题是什么。

我的表单:

<div class="form_style">
<div id="checkbox_content"></div>
   <input type="checkbox" value="1" alt="Checkbox" name="checkbox_material[]">One
   <input type="checkbox" value="2" alt="Checkbox" name="checkbox_material[]">Two<br>
   <textarea id="materialMessage" rows="5" cols="45" name="material_message"></textarea<br>
   <button id="materialSubmit">Add record</button>
</div>

Javascript:

<script type="text/javascript">
$(document).ready(function() {
    $("#materialSubmit").click(function (e) { 
        e.preventDefault();
        if($("#materialMessage").val() === "") {
            alert("Please enter some text!");
            return false;
        }


    var query_string = '';
    $("input[@type='checkbox'][@name='checkbox_material']").each(function() {
        if (this.checked) {
            query_string += "&checkbox_material[]=" + this.value;
        }
    }); 

    if(query_string.length == 0) {
        alert("Please enter some HELLO!");
        return false;
    }

    alert("Hej");
    $.ajax({
        type: "POST",
        url: "material.php",
        data: "id=1" + query_string,
        success:function(t) {
            $("div#checkbox_content").empty().append(t);
        },
        error:function() {
            $("div#checkbox_content").append("An error occured during processing");
        }
    });




    var myData = "material_message="+ $("#materialMessage").val(); 
    jQuery.ajax({
      type: "POST",         
      url: "material.php",  
      dataType:"text",      
      data:myData,          
      success:function(response) {
        $("#materialResponds").append(response);
        $("#materialMessage").val(''); 
      },
      error:function (xhr, ajaxOptions, thrownError) {
        alert(thrownError); //throw any errors
      }
    });
  });

PHP:

if (isset($_POST['checkbox_material'])) 
{
   print_r($_POST['checkbox_material']); 
}

最佳答案

括号是名字的一部分:

var query_string = '';
$("input[name='checkbox_material[]']").each(function() {
    if (this.checked) {
        query_string += "&checkbox_material[]=" + this.value;
    }
});

关于php - jQuery、Ajax、PHP 两个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511104/

相关文章:

php - 如何仅在定义变量时使用我的变量?

php - 带有 PhpWord 的隐蔽 HTML:错误 - DOMDocument::loadXML():p 上的命名空间前缀 o 未在实体中定义

javascript - ajax 中的服务器响应进入错误函数而不是成功

javascript - 发送 AJAX 请求不适用于所有页面

php - 如何在php中创建搜索表单并显示表格?

ajax - wordpress wpdb->更新不工作

php - 尝试使用 Symfony2 将 FPDI 与 TCPDF 结合使用

服务重启时的 php7 fpm sock 文件所有权

jquery - 如何在新标签页中打开链接时停留在当前窗口?

python - Django 模板不加载,即使 url 更改