Javascript Onclick事件不使用单选按钮
我不熟悉html 我正在尝试使用单选按钮添加onclick事件,但它不起作用。我想不出原因。请帮忙Javascript Onclick事件不使用单选按钮,javascript,html,events,onclick,Javascript,Html,Events,Onclick,我不熟悉html 我正在尝试使用单选按钮添加onclick事件,但它不起作用。我想不出原因。请帮忙 Example code <script> function select(btn) { var1=document.getElementById("radio1"); var2=document.getElementById("radio2"); var3=document.getElementById("radio3"); i
Example code
<script>
function select(btn)
{
var1=document.getElementById("radio1");
var2=document.getElementById("radio2");
var3=document.getElementById("radio3");
if(var1.checked==true)
{
document.myform.action="A.html";
}
elseif(var2.checked==true)
{
document.myform.action="B.html";
}
else
{
document.myform.action="C.html";
}
}
</script>
function test()
{
alert('Testing')
}
{% block radio_buttons %}
<br><br><br>
<!-- <input type="radio" id="radio1" name="project_type" value=0 checked onclick="alert('yes')"><label>Projects I own</label> -->
<input type="radio" id="radio1" name="project_type" value=0 checked onclick="select('this')"><label>Projects I own</label>
<br>
<input type="radio" id="radio2" name="project_type" value=1 onclick="test()"><label>Projects I manage</label>
<br>
<input type="radio" id="radio3" name="project_type" value=1 onclick="select()"><label>Projects I can edit</label>
<br>
{% endblock %}
示例代码
功能选择(btn)
{
var1=document.getElementById(“radio1”);
var2=document.getElementById(“radio2”);
var3=document.getElementById(“radio3”);
if(var1.checked==true)
{
document.myform.action=“A.html”;
}
elseif(var2.checked==true)
{
document.myform.action=“B.html”;
}
其他的
{
document.myform.action=“C.html”;
}
}
功能测试()
{
警报(“测试”)
}
{%block单选按钮%}
我拥有的项目
我管理的项目
我可以编辑的项目
{%endblock%}
这段代码是我在模板中添加的。我尝试添加提醒。Alert get Exceeted但not onclick event函数包含语法错误,因此永远不会执行。 写: 而不是
elseif (var2.checked==true)
要避免此类错误,请打开浏览器的开发人员控制台,检查是否显示语法错误
其次,函数名选择select
,这是很不幸的,因为输入元素有一个select
函数,它被调用而不是函数。
为了避免这种情况,请重命名函数(例如,radioSelect
),并相应地调用它(onclick=“radioSelect(this);”
)
另外,您的
test
函数被放置在脚本元素之外,这不是一个好主意。您的代码中有很多语法错误。在函数中选择后,您不需要(btn)。您省略了几个分号,尤其是测试警报后的分号
此代码有效
函数选择(){
var1=document.getElementById(“radio1”);
var2=document.getElementById(“radio2”);
var3=document.getElementById(“radio3”);
if(var1.selected==true){
document.myform.action=“A.html”;
}
else if(var2.selected==true){
document.myform.action=“B.html”;
}否则{
document.myform.action=“C.html”;
}
}
功能测试(){
警报(“测试”);
}
我拥有的项目
我管理的项目
我可以编辑的项目
您好,非常感谢您的帮助。我能够独立运行html页面。但是我用django运行这个页面,我的模板也使用模板继承。现在,当我再次合并此页面时,我的页面不会被超出。另外,请帮助我理解,我希望根据django表单中用户选择的单选按钮填充一个下拉列表。我该怎么做?我需要从我的数据库中提取值。如果有任何例子或链接肯定会有所帮助。谢谢这是另外一个问题。我对这件事知之甚少django@RachelGallen你的答案行不通。请参阅我关于使用select
功能的评论。谢谢,我已接受您的答案并将其标记为绿色。我将为Djanghi发布一个单独的问题,非常感谢您的帮助。我能够独立运行html页面。但是我用django运行这个页面,我的模板也使用模板继承。现在,当我再次合并这个页面时,我的页面没有超出。另外,请帮助我理解,我想根据用户从django表单中选择的单选按钮填充一个下拉列表。我该怎么做?我需要从我的数据库中提取值。如果有任何例子或链接肯定会有所帮助。Thanks@user3364086你原来的问题有两个答案。如果他们帮助了你,你应该投票或接受他们,以表明你感谢他们的努力。如果您有后续问题,只需发布另一个问题。@wero您是否运行了我的代码片段?它起作用了。它会调用所需结果的警报。OP无法向上投票,您需要15个代表才能投票upvote@RachelGallen:是的,我跑了。没有调用select
函数(我使用最新的firefox)。
elseif (var2.checked==true)