无法将文本区域值传递给我的表单

时间:2014-03-19 23:26:01

标签: javascript php html mysql forms

我目前正在我的网站上重新设计一个页面,允许注册用户向管理员发送消息。我正在使用的所有代码在其他页面上已经完全正常运行但是在将所有代码移到后,它已经停止工作,这让我很困惑。

<textarea name="content" id="msgs" class="convo" ></textarea>

文本区域非常简单,表单包含TR标记。 我知道表单正在运行,因为我还向表单提交了发件人和收件人的日期/时间和电子邮件地址。表单执行'compose.php',成功写入数据库并重定向回客户的配置文件。问题是“新”消息是空白的。除了文本区域的内容之外,所有内容都被发送到表单。

如果我使用纯文本区域,那么一切正常,那么问题必须是我应用于文本区域的'WYSIWYG内容编辑器',即使它在另一页上工作正常吗?

bkLib.onDomLoaded
(
  function()
  { 
    new nicEditor({buttonList : ['bold','italic','underline','left','center','right','ol','ul','fontFamily','fontSize','fore    color','link','unlink']}).panelInstance('msgs');
  }
);

有谁知道我可以从哪里开始?我已经对这个问题进行了几个小时的故障排除,它开始让我发挥最大的作用!如果您需要任何其他代码段,请与我们联系。

修改

也许这会有所帮助......

<textarea name="content" id="msgs" class="convo" >TEST MESSAGE</textarea>

页面加载时,“TEST MESSAGE”被写入文本区域。如果我提交它,该值将传递给表单,然后传递给数据库等...但如果我删除它并键入我自己的单词,没有发送任何内容?

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题!

旧代码是:

<form name="send" id="sndmsg" method="post" action="compose.php">
<tr>
  <td width="90%" class="tab">&nbsp;Compose New Message</td>
</tr>
<tr>
  <td>
    <textarea name="content" id="msgs" class="convo" ></textarea>
  </td>
</tr>
<tr>
  <td>
    <input name="user_s" type="hidden" id="user_s" value="<?PHP echo $user;?>" />
    <input name="user_r" type="hidden" id="user_r" value="<?PHP echo $email;?>" />
    <input name="fname" type="hidden" value="<?PHP echo $fullname;?>" />
    <input type="image" src="/send.png" />
  </td>
</tr>
</form>

这显然不起作用。新代码确实有效,具体如下:

<tr>
  <td width="90%" class="tab">&nbsp;Compose New Message</td>
    <form name="send" id="sndmsg" method="post" action="compose.php">
    <textarea name="content" id="msgs" class="convo" ></textarea>
    <input name="user_s" type="hidden" id="user_s" value="<?PHP echo $user;?>" />
    <input name="user_r" type="hidden" id="user_r" value="<?PHP echo $email;?>" />
    <input name="fname" type="hidden" value="<?PHP echo $fullname;?>" />
    <input type="image" src="/send.png" />
    </form>
  </td>
</tr>