根据文本输入更改表单操作

时间:2012-01-13 14:43:20

标签: forms text input action

所以我所拥有的是一个简单的搜索表单和提交按钮。我想要做的是验证输入以确定是否" ="包含在搜索查询中,如果是,那么我希望它将输入字符串(que)发送到vert.php。如果没有,那么我希望它发送到search.php。

<script type="text/javascript" language="JavaScript">
function chgact()
   {
if(document.myform.que.indexOf(=) == true) {
   document.myform.action = '/vert.php';
   }
return true;
}
</script>
    <h1>Keyword search</h1>
    <form name="myform" method="post" action="/search.php"  onSubmit="return chgact()">
      Keywords: <br/>
      <input type="text" name="que" id="que" / >
      <p/>
      Items to display: <br/>
      <select name="i">
        <option value="10">10</option>
        <option value="25">25</option>
        <option value="50">50</option>
      </select>
      <p/>
      <input type="submit" name="submit" value="Search"/>
    </form>

任何帮助都会非常感激! :)

2 个答案:

答案 0 :(得分:0)

将第4行更改为if (document.myform.que.value.indexOf('=') != -1) {

你需要获得que的,你需要引用等号(你正在搜索字符'=')和{{ 1}}函数返回-1(如果未找到)或第一次出现的位置,即整数。它不返回布尔值。

以下是更新后的代码:

indexOf

答案 1 :(得分:0)

我建议您使用PHP执行此操作。如果您的网站访问者关闭了JavaScript,他们将无法获得您的逻辑优势。我建议你看一下strpbrk()函数来检测“=”char。