我的文本框有点像主谷歌搜索文本框。当您开始输入时,javascript会触发一个php脚本,该脚本提供您可以单击的建议。那部分工作正常。但是,我还希望用户能够输入文本,然后只需提交文本即可 - 在您自己的搜索字词中拒绝Google的提示和打字。现在,我试图在HTML中执行此操作,但它无法正常工作。这是我的代码:
<form action="mail.php" method="post"><input type="text" name="maddress" size="30" onkeyup="showResult(this.value)"><input type="submit" name="submit" value="Email"></form>
基本上,onkeyup中的javascript工作正常。但是,表单并没有将文本框中的值发布到php脚本中。也许我有点错误,但我找不到它。或者onkeyup阻止表单发布...
不胜感激任何建议。
答案 0 :(得分:2)
showResult()
应明确返回true
(或在任何情况下,非虚假的内容)。从事件处理程序返回false
(或假值)会阻止默认操作(在本例中为发布表单)。
答案 1 :(得分:0)
我不知道这是否是你正在寻找的,但如果你使用这个概念:
<script type="text/javascript">
function insertText(val,e){
document.getElementById(e).innerHTML+=val;
}
</script>
<textarea id="textIns"></textarea><br />
<a href="javascript:insertText('Hello ','textIns');" onClick="void(0)">Insert 'Hello'</a><br /><a href="javascript:insertText('GoodBye ','textIns');" onClick="void(0)">Insert 'GoodBye'</a>
您可以使用PHP脚本中的vars更改'hello'和'goodbye',或者从哪里获取项目,它应该插入它并允许您发布它。
所以只需将其插入到您的函数中,然后就可以了。我通过将代码中的textarea添加到表单并在php中回显它来测试它,我得到了javascript所添加的内容...希望它有效。对不起,如果它不是你想要的。问题不容易理解,因为我看不到你的其他来源。