所以我有一個簡單的搜索表單和提交按鈕。我想要做的是驗證輸入以確定搜索查詢中是否包含「=」,如果是,那麼我希望它將輸入字符串(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>
任何幫助都將是如此的灰心讚賞! :)
好吧,所以它返回-1或1或0中的值,並將其作爲動作的值是什麼意思?我更新了代碼,但它並沒有放置vert,因爲我認爲這是myform.action =行的行爲? – 2012-01-13 15:33:01
如果單擊「提交」按鈕時未在「que」文本框中找到等號,則'indexOf'返回-1。因此,使用上面的邏輯,如果indexOf('=')返回非-1的值(表示在文本框中找到'='字符WAS),那麼它會將操作切換爲'/vert.php' 。複製並粘貼上面的全部代碼並嘗試。它應該工作。 – Travesty3 2012-01-13 15:44:05
真棒它確實工作,我感謝你幫助我與那一個邏輯。你提到我必須將值傳遞給「que」,我知道它是正確的,但似乎它必須在Javascript中完成,對嗎?我在哪裏可以學習如何編碼? – 2012-01-13 19:12:51