【问题标题】:javascript form textbox post js and htmljavascript表单文本框发布js和html
【发布时间】:2012-06-14 04:39:20
【问题描述】:

我有一个文本框,有点像主要的谷歌搜索文本框。当您开始输入时,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 阻止了表单发布......

如果有任何建议,我们将不胜感激。

【问题讨论】:

  • $_POST 的 print_r 是什么样的?
  • 您是通过按 Enter 还是通过单击电子邮件按钮提交的?它在两种情况下的行为方式是否相同?

标签: javascript html forms


【解决方案1】:

showResult() 应该显式返回true(或者在任何情况下,都是非虚假的)。从事件处理程序返回 false(或一个虚假值)会阻止默认操作,在这种情况下,会发布表单。

【讨论】:

  • 以下是否会返回 true? xmlhttp.open("GET","search.php?q="+str,true); xmlhttp.send();是的,确实做到了。谢谢!
【解决方案2】:

我不知道这是否是你要找的,但如果你使用这个的概念:

<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”,它应该插入并允许您发布它。

所以只需将它插入到你的函数中,它就可以工作了。我通过将代码中的文本区域添加到表单并将其回显到 php 中来测试它,我得到了 javascript 添加的确切内容......希望它有效。抱歉,如果它不是您要找的东西。这个问题不容易理解,因为我看不到你的其他来源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多