我正在使用下面的三部分代码:
代码的第一部分:基本上,当用户选择 Google 时会触发一个 javascript 函数 changeSearchEngine。
<p id="searchbox">This paragraph will change once javascript is triggered</p>
<form align=right>
<select name="searchengine" onchange="changeSearchEngine(this.form)">
<option value="google">Google</option>
</select>
</form>
这是我在 javascript 中的 changeSearchEngine 函数。
function changeSearchEngine(form)
{
var searchEngine=form.searchengine.value;
if (searchEngine=="google")
{
var url_google='<form method="get" action="http://www.google.com/search" onsubmit="submitGoogle(this.form)" target="_blank"><input type="text" name="q" size="31" maxlength="255" value="" /><input type="submit" value="Google Search"/></form>';
document.getElementById("searchbox").innerHTML=url_google;
}
}
在这个时间点上,一切都运行良好。当我选择 Google 时,会出现 google 的搜索框。我可以搜索和一切。
注意有一个 onsubmit="submitGoogle(this.form)" 对吗?我需要将用户搜索词保存到 SQL 表中。所以我在下面有这个 javascript 函数来捕获用户的类型:
function submitGoogle(form)
{
alert("Inside submitGoogle function");
var searchterm=form.q.value;
alert(searchterm); //to test. this part didnt capture the value.
}
我设法调用了 submitGoogle 函数,但是尽管使用了 searchterm=form.q.value,但我无法检索 q 的值。我在这里做错了什么?