2013-02-25 118 views
0

我在PHP中获取文本区域的值(获取未定义)时出现问题。无法从PHP中的textarea获取值

我的代码很简单。 我的HTML是:

<form name="contactform" method="POST" action="submit_form.php">  
<input type="text" class="formInput" placeholder="Your Name" id="first_name" maxlength="50" size="20" /> 
<input type="text" class="formInput" placeholder="Email Address" id="email" maxlength="80" size="20" /> 
<textarea class="formInput" placeholder="Your Message" name="comments" id="comments" maxlength="1400" cols="20" rows="6"></textarea> 
<input type="submit" id="SubmitContactForm" class="myButton" value="Submit" /> 
</form> 

我的PHP:

echo $_POST['comments']; 

这导致undefined,不管我写的文字区域内。我在这里搜索了一些解决方案,并找到了一些东西,比如添加“名称”和“ID”,并使它们两者不同,添加htmlspecialchars($_POST['comments'])等,所有这些解决方案都不起作用。我会做一个笔记,并说我可以没有任何问题地获得其他字段值,只是这个textarea。

任何想法可能是什么问题?

+0

尝试使用Firebug /您的浏览器开发工具,并检查HTTP请求。查看该值是否正在发送。 – Jeff 2013-02-25 14:44:50

+1

你确定textarea元素在你的html表单里面吗? – 2013-02-25 14:44:50

+0

您的HTML在Textarea标签上不包含名称属性。 – Jeff 2013-02-25 14:46:01

回答

1

您尚未定义textarea的名称属性。 地址:​​它:

<textarea class="formInput" name="comments" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6"></textarea> 

如果仍然没有显示出来,请确保您使用method="post"

0

你忘了添加的name属性发送您的形式。你的HTML应该是这样的

<textarea name="comments" class="formInput" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6"></textarea> 
+0

不起作用,不带id或name属性,即使两者相等或不同, – Shai 2013-02-25 14:57:55

0
<textarea class="formInput" placeholder="Your Message" id="comments" maxlength="1400" cols="20" rows="6" name="yourtextarea"></textarea> 
+0

不起作用,不带id或name属性,即使两者相等或不同也不行 – Shai 2013-02-25 14:57:16

1

您需要在您的textarea的name属性 名= “意见”

<textarea class="formInput" placeholder="Your Message" id="comments" name="comments" maxlength="1400" cols="20" rows="6"></textarea> 
+0

不起作用...我已经在发布之前尝试过。 – Shai 2013-02-25 14:56:30

+0

@Shai它必须使用name属性,否则你的代码中的其他东西是错误的。 – idmean 2013-02-25 15:08:23

0

尝试添加该到脚本接收形式后:

print "POST: " . print_r($_POST, true) . "\n" 
    . "GET: " . print_r($_GET, true) . "\n"; 

如果“注释”出现在“GET”下面, n您还没有设置窗体的方法=张贴

+0

它显示在下,[评论] => undefined – Shai 2013-02-25 14:56:06

+0

“未定义”通常从JavaScript弹出。你有没有运行任何客户端脚本?使用jQuery或其他库? – stakolee 2013-02-25 15:49:56

-1

<textarea name="Address" rows="3" class="input-text full-width" placeholder="Your Address" ></textarea> 

删除你的一些textarea类来

<textarea name="Address" rows="3" class="full-width" placeholder="Your Address" ></textarea> 

这取决于你的模板(模板购买)。 开发包含一些JavaScript以从UI 上的正确对象获得价值,但对于像input-text这样的元素,只需找到$('input[type=text]')

0

首先定义它像$comment=$_POST['comments'];后,你可以做你想做的, 注:不要直接使用它像$_POST['comments'];因为在某些情况下,它会抛出一些错误的/通知等。