【发布时间】:2021-03-02 06:47:12
【问题描述】:
我正在努力解决一个问题,但无法找到解决方案。 我有一个在我发布消息时会重新加载的表单。
消息通过,一切正常。 我在表单中添加了一个颜色选择器并尝试获取它的值...... 它不工作。
我一开始以为是我的“帖子”继承了那个错误...但是用警报显示它,这似乎是正确的。
所以,在你们生气之前,我确实阅读了论坛中的其他帖子,例如 article。 但我有一个错误。
这是我的html:
<form method="pos" class="d-flex" id="chatform">
<div class=" mr-2" data-toggle="buttons" >
<label class="btn button rounded-100 active">
<input type="checkbox" unchecked autocomplete="off" id="bold"> B
</label>
</div>
<div class=" mr-2" data-toggle="buttons">
<label class="btn button rounded-100 active">
<input type="checkbox" unchecked autocomplete="off" id="italic"><EM>It</EM>
</label>
</div>
<div class="mr-2">
<input type="color" class="color_btn mb-1" id="favcolor" value="#ffffff">
</div>
<div class="d-flex justify-content-between align-items-center mb-1">
<div class="flex-grow-1">
<textarea autofocus id="message" class="message_input" ></textarea>
</div>
</div>
</form>
所以,现在我使用以下 ajax 来传递信息:
$('.message_input').keyup(function(e){if( e.which ==13){$('form').submit();}});
$('form').submit(function()
{
var message = document.getElementById("message").value;
var italic = document.getElementById("italic").value;
var bold = document.getElementById("bold").value;
var favcolor = document.getElementById("favcolor").value;
$.post('core/chat_logic.php?action=send&message='+message+'&italic='+italic+'&bold='+bold+'&color='+favcolor, function(response){alert(response);} );});
在另一端使用 php 将我的回复中的帖子 URL 发回给我:
"localhost/chat/v2/core/chat_logic.php?action=send&message=fgdfg&italic=on&bold=on&color="
如您所见,颜色值始终为空。
我尝试了什么:
-
我尝试为颜色选择器设置一个硬值 =“#ffffff”,但错误仍然存在。
-
我在我的自定义 URL 中更改了参数的顺序。它总是在颜色之后停止(例如:当我将参数放在颜色之后,下面是我得到的内容。不是斜体和粗体还在。
"localhost/chat/v2/core/chat_logic.php?action=send&message=testmessage&&color="
- 我还尝试了一些可以帮助我的方法:我从 html 表单标签中删除了 methode="post"... 这会在我的 url 中显示我的参数。这是它唯一一次显示我的颜色值:
"&message=testmessage&&color=%23ffffff&&italic=on&bold=on
所以我在想也许是 %23 破坏了代码......但是后来......我不知道为什么。 提前感谢您的帮助
更新
- 我添加了“alert(favcolor);”在我的提交函数中,它显示正确的颜色代码,所以我的问题是将参数传递给 php?
“%23ffffff”
【问题讨论】:
标签: javascript jquery ajax forms input