<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);
}