我正在处理一个小型项目时遇到问题。
我有一个带有9个字段的HTML表单。如果我点击提交,它会发送一封包含所有表单数据的电子邮件。表格的一部分仅在选择相应的单选按钮时才显示。尽管这个工作很完美(为此使用了JQuery),但子表单中的输入字段不会被提交。其他输入字段工作得很好。这是我的代码:
HTML:
<表单名称=contactFormid =contactFormmethod =postaction => < fieldset> < div class =group> < input name =groupNametype =textid =groupNameplaceholder =Groepsnaamvalue = minLength =2 required /> < / div> < div> < input name =contactNametype =textid =contactNameplaceholder =Naam contactpersoon value =minLength =2 required /> < / div> < div> < input name =contactEmailtype =emailid =contactEmailplaceholder =Email contactpersoon value = required /> < / div> < div> < input name =contactPhonetype =telid =contactPhone placeholder =Telefoonnummer contactpersoonvalue = required /> < / div> < div> < select name =amountMembersid =amountMembersrequired> < option value =selected> Aantal groepsleden< / option> < option value =2> 2< / option> < option value =3> 3< / option> < option value =4> 4< / option> < option value =5> 5< / option> < option value =6> 6< / option> < / select> < / div> < div> < textarea name =groupMembersid =groupMembersplaceholder =Groepsledenrows =10cols =50 required>< / textarea> < / div> < div> <! - 如果第一个rdb是select,则显示字段。其他人隐藏。 - > < input type =radioonclick =displayForm(this)name =foodvalue =1> Ik wil me inschrijven voor het pasta-buffet< br> < input type =radioonclick =displayForm(this)name =foodvalue =2> Ik neem niet deel aan het 面食 - 自助餐< br> < / div> < div id =foodformstyle =display:none;> < input name =volwassenenPortiestype =textid =volwassenplaceholder =Aantal volwassenen value = required /> < input name =kinderPortiestype =textid =kindplaceholder =Aantal kinderen(-12j)value = required / > < br> < / div> < div> < button class =submitform>提交< / button> < div id =submit-loader> < div class =text-loader>正在发送...< / div> < div class =s-loader> < div class =bounce1>< / div> < div class =bounce2>< / div> < div class =bounce3>< / div> < / div> < / div> < / div> < / fieldset> < / form> <! - 表格结束 - >JQuery:
function displayForm(c){ if(c.value ==1){ jQuery('#foodform')。fadeIn(); } if(c.value ==2){ jQuery('#foodform')。fadeOut(); } };PHP:
<?php $ siteOwnersEmail ='Myemail@website.be'; $ b $ if($ _ POST){ $ groupName = trim(stripslashes($ _ POST ['groupName'])); $ contactName = trim(stripslashes($ _ POST ['contactName'])); $ email = trim(stripslashes($ _ POST ['contactEmail'])); $ phone = trim(stripslashes($ _ POST ['contactPhone'])); $ amountMembers = trim(stripslashes($ _ POST ['amountMembers'])); $ groupMembers = trim(stripslashes($ _ POST ['groupMembers'])); $ food = trim(stripslashes($ _ POST ['food'])); $ volwassenen = trim(stripslashes($ _ POST ['volwassen'])); $ kinderen = trim(stripslashes($ _ POST ['kind'])); //设置消息 $ message。=Groepsnaam:。 $ groupName。 < br />; $ message。=Naam contactpersoon:。 $ contactName。 < br />; $ message。=email:。 $电子邮件。 < br />; $ message。=telefoonnr:。 $手机。 < br />; $ message。=Aantal groepsleden:。 $ amountMembers。 < br />; $ message。=Namen groepsleden:。 $ groupMembers。 < br />; $ message。=Eten 1 = ja,2 = nee:。 $食物。 < br />; $ message。=Volwassenen porties:。 $ volwassenen。 < br />; $ message。=亲爱的港口:。 $ kinderen。 < br />; $ message。=< br /> -----< br />德泽电子邮件通过het inschrijvingsformulier来发送邮件。< br />; // Set From:header $ from = $ contactName。 < 。 $电子邮件。 > 中; //电子邮件标题 $标题=From:。 $从。 \r\\\; $ headers。=回复:。 $电子邮件。 \r\\\; $ headers。=MIME-Version:1.0 \r\\\; $ headers。=Content-Type:text / html; charset = ISO-8859-1 \r\\\; $ b $ if(!$ error){ ini_set(sendmail_from,$ siteOwnersEmail); //用于Windows服务器 $ mail = mail($ siteOwnersEmail,$ subject,$ message,$ headers); if($ mail){echoOK; } else {echo出错了,请重试。; } $ b $#}如果 - 没有验证错误 else { //验证错误}有谁知道为什么foodform中的输入字段不提交?我一直在努力这一段时间。
预先感谢
Simon
解决方案在您的PHP代码中尝试替换:
$ volwassenen = trim(stripslashes($ _ POST [ 'volwassen'])); $ kinderen = trim(stripslashes($ _ POST ['kind']));用这个:
$ volwassenen = trim(stripslashes($ _ POST ['volwassenPorties'])); $ kinderen = trim(stripslashes($ _ POST ['kindPorties']));
I have a problem with a small project I'm working on.
I have a form in HTML with 9 fields. If I hit submit it sends an email with all the form data. A part of the form is only shown when the corresponding radiobutton is selected. Although this works perfect (used JQuery for this), the input fields in that 'subform' don't get submitted. The other input fields work just fine. This is my code:
HTML:
<form name="contactForm" id="contactForm" method="post" action=""> <fieldset> <div class="group"> <input name="groupName" type="text" id="groupName" placeholder="Groepsnaam" value="" minLength="2" required/> </div> <div> <input name="contactName" type="text" id="contactName" placeholder="Naam contactpersoon" value="" minLength="2" required/> </div> <div> <input name="contactEmail" type="email" id="contactEmail" placeholder="Email contactpersoon" value="" required/> </div> <div> <input name="contactPhone" type="tel" id="contactPhone" placeholder="Telefoonnummer contactpersoon" value="" required/> </div> <div> <select name="amountMembers" id="amountMembers " required> <option value="" selected>Aantal groepsleden</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> </select> </div> <div> <textarea name="groupMembers" id="groupMembers" placeholder="Groepsleden" rows="10" cols="50" required></textarea> </div> <div> <!-- If the first rdb is select, show fields. Else hide. --> <input type="radio" onclick="displayForm(this)" name="food" value="1"> Ik wil me inschrijven voor het pasta-buffet<br> <input type="radio" onclick="displayForm(this)" name="food" value="2"> Ik neem niet deel aan het pasta-buffet<br> </div> <div id="foodform" style="display:none;"> <input name="volwassenenPorties" type="text" id="volwassen" placeholder="Aantal volwassenen" value="" required/> <input name="kinderPorties" type="text" id="kind" placeholder="Aantal kinderen (-12j) " value="" required/> <br> </div> <div> <button class="submitform">Submit</button> <div id="submit-loader"> <div class="text-loader">Sending...</div> <div class="s-loader"> <div class="bounce1"></div> <div class="bounce2"></div> <div class="bounce3"></div> </div> </div> </div> </fieldset> </form> <!-- Form End -->JQuery:
function displayForm(c) { if (c.value == "1") { jQuery('#foodform').fadeIn(); } if (c.value == "2") { jQuery('#foodform').fadeOut(); } };PHP:
<?php $siteOwnersEmail = 'Myemail@website.be'; if($_POST) { $groupName = trim(stripslashes($_POST['groupName'])); $contactName = trim(stripslashes($_POST['contactName'])); $email = trim(stripslashes($_POST['contactEmail'])); $phone = trim(stripslashes($_POST['contactPhone'])); $amountMembers = trim(stripslashes($_POST['amountMembers'])); $groupMembers = trim(stripslashes($_POST['groupMembers'])); $food = trim(stripslashes($_POST['food'])); $volwassenen = trim(stripslashes($_POST['volwassen'])); $kinderen = trim(stripslashes($_POST['kind'])); // Set Message $message .= "Groepsnaam: " . $groupName . "<br />"; $message .= "Naam contactpersoon: " . $contactName . "<br />"; $message .= "email: " . $email . "<br />"; $message .= "telefoonnr: " . $phone . "<br />"; $message .= "Aantal groepsleden: " . $amountMembers . "<br />"; $message .= "Namen groepsleden: " . $groupMembers . "<br />"; $message .= "Eten 1=ja, 2=nee: " . $food . "<br />"; $message .= "Volwassenen porties: " . $volwassenen . "<br />"; $message .= "Kinder porties: " . $kinderen . "<br />"; $message .= "<br /> ----- <br /> Deze email werd verstuurd via het inschrijvingsformulier. <br />"; // Set From: header $from = $contactName . " <" . $email . ">"; // Email Headers $headers = "From: " . $from . "\r\n"; $headers .= "Reply-To: ". $email . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; if (!$error) { ini_set("sendmail_from", $siteOwnersEmail); // for windows server $mail = mail($siteOwnersEmail, $subject, $message, $headers); if ($mail) { echo "OK"; } else { echo "Something went wrong. Please try again."; } } # end if - no validation error else { //there was a validation error }Does anyone know why the input fields inside the "foodform" dont submit? I've been struggling on this for a while now.
Thanks in advance
Simon
解决方案Try replacing in your PHP code:
$volwassenen = trim(stripslashes($_POST['volwassen'])); $kinderen = trim(stripslashes($_POST['kind']));with this:
$volwassenen = trim(stripslashes($_POST['volwassenPorties'])); $kinderen = trim(stripslashes($_POST['kindPorties']));
更多推荐
部分表单不提交
发布评论