JS函数未定义,传递变量
JS function not defined, passing variable
我试图在 URL 中传递一个变量,以根据单击的 link 来检查另一个页面上的单选按钮。不幸的是,我遇到了 "Uncaught ReferenceError: radio_onload is not defined" 错误。
这与 document.onload 有什么关系吗?我尝试了不同的变体,但无法在相邻页面上 select 我的收音机。如果我能得到另一双眼睛来帮助我看到我所缺少的东西,那就太好了。
1.html JS
var locate = window.location.toString();
var text = locate;
function delineate2(str){
point = str.lastIndexOf("=");
return(str.substring(point+1,str.length));
}
var passOpt = delineate2(text);
function radio(){
document.getElementById(passOpt).checked="checked";
}
1.html 用户选项
<!-- if clicked, select test 1 radio on 2.html-->
<a href="2.html?formOpt=test1">test 1</a>
<!-- if clicked, select test 2 radio on 2.html-->
<a href="2.html?formOpt=test2">test 2</a>
2.html,单选形式
<form>
<input type="radio" name="test" value="test1"/>Test #1
<input type="radio" name="test" value="test2"/>Test #2
</form>
在 2.html
上调用我的函数
radio();
如果您认为我可以采用其他方法,请随时告诉我。我仍在学习 JS,因此不胜感激。
我让它在这个例子中工作得很好。您需要将 ID 添加到 2.html
:
中的 HTML 元素
<form>
<input id="test1" type="radio" name="test" value="test1" />Test #1
<input id="test2" type="radio" name="test" value="test2"/>Test #2
</form>
我使用了一个示例字符串作为您的 delineate
函数的输入(因为您不能在 JSFiddle 中使用 URL 查询),并且也稍微更改了您的 radio
函数:
var locate = "2.html?formOpt=test2"
function delineate2(str){
point = str.lastIndexOf("=");
return(str.substring(point+1,str.length));
}
var passOpt = delineate2(locate);
//this was used for debugging
document.getElementById("result").innerHTML = passOpt;
function radio(){
document.getElementById(passOpt).setAttribute("checked", true);
}
radio();
查看 fiddle here
希望对您有所帮助。
我试图在 URL 中传递一个变量,以根据单击的 link 来检查另一个页面上的单选按钮。不幸的是,我遇到了 "Uncaught ReferenceError: radio_onload is not defined" 错误。
这与 document.onload 有什么关系吗?我尝试了不同的变体,但无法在相邻页面上 select 我的收音机。如果我能得到另一双眼睛来帮助我看到我所缺少的东西,那就太好了。
1.html JS
var locate = window.location.toString();
var text = locate;
function delineate2(str){
point = str.lastIndexOf("=");
return(str.substring(point+1,str.length));
}
var passOpt = delineate2(text);
function radio(){
document.getElementById(passOpt).checked="checked";
}
1.html 用户选项
<!-- if clicked, select test 1 radio on 2.html-->
<a href="2.html?formOpt=test1">test 1</a>
<!-- if clicked, select test 2 radio on 2.html-->
<a href="2.html?formOpt=test2">test 2</a>
2.html,单选形式
<form>
<input type="radio" name="test" value="test1"/>Test #1
<input type="radio" name="test" value="test2"/>Test #2
</form>
在 2.html
上调用我的函数radio();
如果您认为我可以采用其他方法,请随时告诉我。我仍在学习 JS,因此不胜感激。
我让它在这个例子中工作得很好。您需要将 ID 添加到 2.html
:
<form>
<input id="test1" type="radio" name="test" value="test1" />Test #1
<input id="test2" type="radio" name="test" value="test2"/>Test #2
</form>
我使用了一个示例字符串作为您的 delineate
函数的输入(因为您不能在 JSFiddle 中使用 URL 查询),并且也稍微更改了您的 radio
函数:
var locate = "2.html?formOpt=test2"
function delineate2(str){
point = str.lastIndexOf("=");
return(str.substring(point+1,str.length));
}
var passOpt = delineate2(locate);
//this was used for debugging
document.getElementById("result").innerHTML = passOpt;
function radio(){
document.getElementById(passOpt).setAttribute("checked", true);
}
radio();
查看 fiddle here
希望对您有所帮助。