0
<form action="db.php" method="POST" id="addForm" name="addForm">
<input type="checkbox" name="use[]" value="development">Develop<br>
<input type="checkbox" name="use[]" value="sample">Sample<br>
<input type="checkbox" name="use[]" value="mass_production">Mass Prod<br>
</form>

只是先弄清楚..
1.如果我提交,我可以使用变量在php中获取帖子值$_POST['use'],对吗?
2. 由于它的多个复选框,值 $_POST['use'] 是一个数组,所以我需要用 , 来访问它$_POST['use'][0]$_POST['use'][1]对吗?

现在真正的问题是,当我提交时,我在控制台(萤火虫)中收到错误。 Error: Syntax error, unrecognized expression: [name=use[]], 和throw new Error( "Syntax error, unrecognized expression: " + msg );

该错误阻止我提交。我正在使用 jquery-1.8.2.js。我做错什么了吗?

更新
下面的这些代码产生了错误。但是还没有搞明白。

var jdialog = $('#addnew_dialog');
var jform = jdialog.find('[name=addForm]');
jform.validate({
    errorClass : "err_label",
    wrapper: "li",
    rules: {
        "code": "required",
        "name": "required"
    },
    ignore: "",
    errorPlacement: function(error, element) {
        if( element.next().hasClass('ui-multiselect') ) {
            error.insertAfter( element.next() );
        } else {
            error.insertAfter( element );
        }
    },
    submitHandler: function(form) {
        //use ajax check
        //reset all error state
        $.each($(form).serializeArray(), function() {             
      jform.find("[name="+this.name+"]").removeClass("ui-state-error");
    });

        var data = ajaxCheck("addForm", "ajaxCheckAddShape");
        if(data['result']!="ok"){
            updateTips(data['msg']);
            $.each(data['err_fields'], function(index, value) {
                jform.find("[name="+value+"]").addClass("ui-state-error");
            });
            return false;
        }
        $(form).find("[name=op]").val("add");
        form.submit();
    }
});


function ajaxCheck(formName , action) {
    var jform = $("#"+formName);
    jform.find("[name=op]").val(action);
  var returnData = $.ajax({
    type: "POST",
    url: "db.php",
    async: false,
    timeout: 5000,
    data: jform.serialize(),
    dataType : "json"
  }).responseText;
  return $.parseJSON(returnData);
}
4

1 回答 1

2

[在 jQuery 属性选择器中,如果您有类似or的字符,则需要加上引号]

例如替换

$('[name=use[]]')

$('[name="use[]"]')
于 2012-12-12T09:10:18.097 回答