如何解决在ajax中传递复选框的值
| 我的JavaScript和PHP目前非常低,我正在尝试使某些事情变得非常简单,但可以做到! 我有一个表单,我希望将checBox值(标为课程的值)传递到他们需要到达的文件(其所有功能都很好,并传递给复选框之外的所有内容),然后从那里传递给电子邮件(有效)复选框除外)。 这是我的代码: (再次-一切正常,但复选框有效,我删除了诸如验证其他内容之类的小内容,因此阅读起来很麻烦)<script type=\"text/javascript\">
jQuery(function () {
jQuery(\".button\").click(function () {
// validate and process form
// first hide any error messages
jQuery(\'.error\').hide();
var name = jQuery(\"input#name\").val();
var email = jQuery(\"input#email\").val();
var phone = jQuery(\"input#phone\").val();
var dataString = \'name=\' + name + \'&email=\' + email + \'&phone=\' + phone;
//alert (dataString);return false;
jQuery.ajax({
type: \"POST\",url: \"mitkadmim.PHP\",data: dataString,success: function () {
jQuery(\'#contact_form\').html(\"<div id=\'message\'></div>\");
jQuery(\'#message\').html(\"<h2>Contact Form Submitted!</h2>\")
.append(\"<p>We will be in touch soon.</p>\")
.hide()
.fadeIn(1500,function () {
jQuery(\'#message\').append(\"<img id=\'checkmark\' src=\'images/check.png\' />\");
});
}
});
return false;
});
});
</script>
<div id=\"mheo\">
<div id=\"contact_form\">
<form name=\"contact\" method=\"post\" action=\"\">
<fieldset>
<label for=\"name\" id=\"name_label\">שם: </label>
<input type=\"text\" name=\"name\" id=\"name\" size=\"30\" value=\"\" class=\"text-input\" /><br/><br/>
<label for=\"email\" id=\"email_label\">E-mail: </label>
<input type=\"text\" name=\"email\" id=\"email\" size=\"30\" value=\"\" class=\"text-input\" /><br/><br/>
<label for=\"phone\" id=\"phone_label\">מס. טלפון</label>
<input type=\"text\" name=\"phone\" id=\"phone\" size=\"30\" value=\"\" class=\"text-input\" /><br/><br/>
intrested in:<br/>
<input type=\"checkBox\" name=\"kidumchoise[]\" value=\"kidum_esek\" />aaa<br />
<input type=\"checkBox\" name=\"kidumchoise[]\" value=\"mitug_esek\" />bbb<br />
<input type=\"checkBox\" name=\"kidumchoise[]\" value=\"laikim\" />CCC<br />
<input type=\"checkBox\" name=\"kidumchoise[]\" value=\"aher\" />DDD<br />
<br />
<input type=\"submit\" name=\"submit\" class=\"button\" id=\"submit_btn\" value=\"Send\" />
</fieldset>
</form>
</div>
</div>
和电子邮件方面
<?PHP
$recipient = \'ddsds@gmail.com\';
$name = $_POST[\'name\'];
$email = $_POST[\'email\'];
$phone = $_POST[\'phone\'];
$kidumchoise = $_POST[\'kidumchoise\'];
$msg = \"Message from: $name\\n\\n\".$_POST[\'phone\'].\"\\n\".$_POST[\'email\'].$_POST[\'kidumchoise\'].\" \\n\"\"\\n\".$_POST[\'kidumchoise\'].\"\\n\";
mail($recipient,$name,$msg);
?>
我做错了什么?
谢谢,
解决方法
var chkElem = document.getElementsByName(\"kidumchoise[]\");
var choice =\"\";
for(var i=0; i< chkElem.length; i++)
{
if(chkElem[i].checked)
choice = choice + chkElem[i].value;
}
var dataString = \'name=\'+ name + \'&email=\' + email + \'&phone=\' + phone + \'&kidumchoise=\' +choice;
在以下行之后添加以下代码
var phone = jQuery(\"input#phone\").val();
它将正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。