2013-03-25 61 views
0

在我的網頁頭:的Javascript功能不會啓動的onClick

<script> 
function formula() 
{ 
    document.forms["inquire"]["search"].value.scrollIntoView(); 
} 
</script> 

在我的網頁正文:

<div id="nav"> 
<form id="inquire" name="inquire" onSubmit="return false;"> 
Search or inquire here: <input type="text" id="search" name="search" value="<?php search($_GET['search']) ?>" autocomplete="off"/> 
<input type="button" name="btnSearch" id="btnSearch" onClick="formula();"/> 
</form> 
</div> 

我想在這裏發生的是,當btnSearch被點擊時,它激活公式(),取值從搜索的形式查詢,然後滾動到一個單獨的div,我叫公式。如果我把document.getElementById(this.form.search.value).scrollIntoView();直接進入onClickbtnSearch,但它拒絕工作,無論我如何設置它作爲一個函數。這裏有人知道爲什麼它可能會這樣做,或者我可以如何解決它?

回答

1

它不工作,因爲你的函數是錯誤的:

function formula() { 
    document.getElementById(document.forms.inquire.search.value).scrollIntoView(); 
} 

該代碼獲取搜索字段的值,並使用它的「身份證」查找。它可能會是一個好主意,檢查是否有實際上是一個「ID」,其值爲鍵入:

function formula() { 
    var element = document.getElementById(document.forms.inquire.search.value); 

    if (element) element.scrollIntoView(); 
} 
+0

你忘了)支架 – 2013-03-25 16:18:33

+0

@netme是感謝我的鍵盤一直是可笑最近:-) – Pointy 2013-03-25 16:19:06

+0

謝謝你這麼尖尖!我在開始時使用了你所說的,它現在正好符合我的需要。謝謝! – 2013-03-25 16:22:48