我正在开发一个使用Kohana开发的项目,由于某些条件,我无法在表单中使用NAME
,而是我可以选择使用ID
但我尝试使用以下方法无效。
<form action="sendmail.php" method="post">
<p><input type="text" size="30" style="border-radius:15px; border:2px solid #000; padding:5px;" placeholder="Name" id="contname" /><br />
<br />
<input type="text" size="30" style="border-radius:15px; border:2px solid #000; padding:5px;" placeholder="Email" id="contemail" /><br />
<br />
<input type="text" size="30" style="border-radius:15px; border:2px solid #000; padding:5px;" placeholder="Subject" id="contsubject" /><br />
<br />
<textarea style="border-radius:5px; border:2px solid #000; padding:5px; width:320px; height:120px;" id="contmessage" placeholder="Message"></textarea><br />
<br />
<input type="submit" value="SUBMIT" style="background-color:#9377dd; border-radius:10px; padding-top:3px; padding-bottom:3px; padding-left:16px; padding-right:16px;" /></p>
</form>
sendmail.php
<?php
$from = $_POST["contemail"];
$message = $_POST["contname"] . "<br/>". $_POST["contsubject"] . "<br/>" . $_POST["contmessage"];
mail("me@mail.com","From contact form",$message,"From: $from\n");
mail("me@mail.com","From contact form",$message,"From: $from\n");
header('Location: faq');
?>
任何替代方法请
答案 0 :(得分:1)
当您在服务器端发布表单时,您可以按名称访问该字段。现在您没有使用该名称,而不是您正在使用该ID,我建议您使用javascript ajax方法发布表单。这是唯一可用的替代方法。
答案 1 :(得分:0)
发布表单时,表单将转换为键/值对并发送到服务器。例如......
<input name="MyName" value="MyValue">
以
的形式发送到服务器MyName=MyValue
除非浏览器可以形成键/值对,否则它不会发送数据 - 无论您是缺少键(来自name属性)还是值(例如未选中的复选框),都是如此。
您可以使用JavaScript迭代表单并使用不同的属性(例如您的ID)创建表单帖子,但如果您有权将JavaScript添加到此表单,则添加名称会更容易。