我之前发布了一些关于如何做同样事情的问题,人们给我指出了正确的方向。因此,如果这变得重复,我深表歉意。不过,我这次发帖是想看看是否有人可以抽出几秒钟来帮助我使用 javascript。
我有一个已经将数据提交到不同表中的表单,并且想要实现“预装响应功能”。这仅仅是一个下降列表的选择,当onChange
事件启动选项列表的事件时,它运行的JavaScript可以使用适当的数据填充以下文本区域。
我相信因为它已经在一个表单中,我不能简单地将它放在另一个表单中并使用提交,而且,我希望能够在不刷新页面的情况下做到这一点。
<form action="<?=base_url();?>ticket/addmessage/<?=$ticket_details['id'];?>/" enctype="multipart/form-data" method="post" name="message">
<label for="frm_precan">Canned Response</label>
<span class="input">
<select id="frm_precan" name="precan" onchange="updateText()">
<option value="">--Please Select--</option>
<?php foreach($precan_list as $precan) :?>
<option value="<?=$precan['id']; ?>"><?=$precan['name'];?></option>
<?php endforeach; ?>
</select>
</span>
<ul>
<li><label for="message">Message<span class="req">*</span></label><span class="input"></span><br/></li>
</ul>
<textarea style="width: 100%; margin: 0; padding: 0; border-width: 1; font-family: courier;" name="message" rows="10" id="text_area"></textarea>
<button type="submit"><span>Add Message</span></button>
</form>
这是我的 HTML 表单。它通过 SQL 使用 PHP 来填充选项列表,因为预装消息存储在 SQL 表中。
所以我需要做的是以某种方式链接这个 Javascript(在 上调用onChange
):
function updateText()
{
var message = document.getElementById('frm_precan').value;
$('#text_area').val(message)
};
(非常基本,我知道,但这是我挣扎的地方)所以这段代码想要将('frm_precan').value;
(这是表中的 ID,以及我想要查询正确消息的字段)... 传递给 php 文件看起来像这样:
public function get_message($message_id)
{
$sql_list =
"
SELECT *
FROM ".$this->tables_automessages."
WHERE id = '".mysql_real_escape_string($message_id)."'";
$query = $this->db->query($sql_list);
if($query->num_rows() > 0)
{
foreach ($query->result_array() as $row)
{
$return[] =
array(
'message' => $row['message']
);
}
return $return;
}
else return false;
}
}
哦,我正在使用代码点火器,所以这也可能是我感到困惑的一个原因。所以变量想要从 javascript 出来进入一个控制器,然后去 SQL 查询。
如果有人能理解我的意思,我会感到惊讶......并且非常感激。