呵呵~!
我做的东西比较恶心
现在遇到了个问题就是input的radio控件响应事件问题
是这样:一个radio不光要响应被选中的事件,还要监听自己被撤销选中的事件
比如我有个选择题,A,B,C三个选项
用户在页面先选了A,根据某些业务逻辑,选了A以后是要进行一些相关操作的
但是这时候用户想了一下,觉得选A不好,改选B了
那么刚才根据用户选了A这一结果执行的操作,就要实现逆操作
我想设置radio的 onpropertychange事件来实现这个操作,但是发现把JavaScript方法注册到事件上以后
用户点中radio的时候,浏览器调用了2次该方法
而且似乎是在radio的checked属性被设置为true之前调用一次,设置为true之后调用一次
而当选了同组其他radio的时候,这个方法只执行了一次
很郁闷
所以来问问
有没有方法监听radio控件被选中和被撤销的事件啊?
谢谢大家了
回复讨论(解决方案)
换个思路。如果改选B,那么会触发事件。这样同样可以监听A撤消啊
试试 onclick
用一个全局变量记住当前选项
<html> <script language="javascript" defer="defer"> var cur;function check(){ var val; var rds = document.forms[0].rd; for(var i=0;i<rds.length;i++){ if(rds[i].checked){ val = i; break; } } if(val != cur){cur = val; alert("changed")}} window.onload=function(){ var rds = document.forms[0].rd; for(var i=0;i<rds.length;i++){ if(rds[i].checked){ cur = i; break; } }}</script> <body><form><input type="radio" name="rd" value="0" checked="checked" onclick="check()"> 0<br><input type="radio" name="rd" value="1" onclick="check()"> 1<br><input type="radio" name="rd" value="2" onclick="check()"> 2<br></form></body> </html>
<div id=radios> a <input type=radio name=a value=a > b <input type=radio name=a value=b> c <input type=radio name=a value=c></div><script language="javascript"><!--var obj=document.getElementById("radios").getElementsByTagName("input")for (var i=0;i<obj.length;i++){(function(k){obj[i].onclick=function(){cha(k)}})(i)}var lastChecked=nullfunction cha(k){if (lastChecked==k)returnif (lastChecked!=null){ //处理obj[lastChecked] alert("上次选中:"+lastChecked)}lastChecked=k//处理obj[lastChecked]alert("本次选中:"+lastChecked)}//--></script>
使用临时变量是不行的
因为页面上的选择题的数量,以及选择题和填空题
以及题目之间的跳转关系
比如:单选某一选项要跳转到哪个题
选择题之间选项的组合,选择题与填空题之间的组合
等等都是用户在设计试卷的时候指定的
不是写死在页面上的
变量可以动态创建,或用数组,不需要写死。
路过 学习
用一个全局变量记住当前选项
HTML code
<script> <br /> var cur; <br /> <br /> function check(){ <br /> var val; <br /> var rds = document.forms[0].rd; <br /> for(var i=0;i<rds.length;i++){ <br /> if(rds[i].checked){ <br /> val = i; <br /> break; <br /> } <br /> } <br /> if(val != cur){cur = val; alert("changed")} <br /> } <br /> window.onload=function(){ <br /> v… <br /> <br /> 正解! </script>
打酱油
失去选中,也即失去焦点,那么失去焦点的事件可以在对象中这样响应
...onblur="javascript:workFunName(参数);"...
失去选中,也即失去焦点,那么失去焦点的事件可以在对象中这样响应
...onblur="javascript:workFunName(参数);"...
绝错~
你选A选项以后,再去填一个空
然后回来看这个选择题,改成了选B,此时,A失去选中,但不会触发失去焦点事件
我想的和2楼的思路一样
唉~
做一个调查问卷实在是太难了~
做了个测试
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title></head><body><form method="post" action=""> <input type="radio" name="ask1" id="a1" value="v1" />a1 <input type="radio" name="ask1" id="a2" value="v2" />a2 <input type="radio" name="ask1" id="a3" value="v3" />a3</form></body><script type="text/javascript">//<![CDATA[function a1(){ alert('a1 .... do something');}function a2(){ alert('a2 .... do something');}function a3(){ alert('a3 .... do something ');}function setradio(oname, v, fn){ var rdos = document.getElementsByName(oname); for ( var i=0,L=rdos.length; i<L; i++ ) { if ( rdos[i].value==v ) { rdos[i].onclick = function(){ fn(); }; } }}setradio('ask1', 'v1', a1);setradio('ask1', 'v2', a2);setradio('ask1', 'v3', a3);//]]></script></html>
恩!
谢谢大家
帖子结了
目前的思路是和xiaojing7的想法一样的
感谢大家的回复,以后有问题,我还会来骚扰大家的
谢谢
欢迎骚扰
真恶心
asdfadsasdf
function getRadio(obj) {
alert(obj.value);
var logon = document.getElementById("logon");
var reg = document.getElementById("reg");
}
1
2
没事别动不东就自动执行 onload什么的

웹 개발에서 HTML, CSS 및 JavaScript의 역할은 다음과 같습니다. 1. HTML은 웹 페이지 구조를 구축하는 데 사용됩니다. 2. CSS는 웹 페이지의 모양을 아름답게하는 데 사용됩니다. 3. JavaScript는 동적 상호 작용을 달성하는 데 사용됩니다. 태그, 스타일 및 스크립트를 통해이 세 가지는 함께 현대 웹 페이지의 핵심 기능을 구축합니다.

태그의 Lang 속성을 설정하는 것은 웹 접근성 및 SEO를 최적화하는 핵심 단계입니다. 1) 태그에 LANG 속성을 설정하십시오. 2) 다국어 컨텐츠에서는 다른 언어 부품에 대한 LANG 속성을 설정하십시오. 3) "en", "fr", "zh"와 같은 ISO639-1 표준을 준수하는 언어 코드를 사용하여 LANG 속성을 올바르게 설정하면 웹 페이지 및 검색 엔진 순위의 접근성을 향상시킬 수 있습니다.

htmlattributesearsentialforenhancingwebelements'functionalityandAmpearance.theyaddinformationTodeFineBehavior, 외관 및 간호, WebsITESITERACTIVE, RAPITIVE 및 VVESILLY -CAMENTION.ATTRIBUTESLIKESRC, HREF, 클래스, 유형 및 디스티브 트랜스포트

ToCreateAlistInhtml, useUnorderEdListandForOrdLists : 1) forUnderedList, wrapitemSinanduseForeachitem, renderingasabulletedList.2) forOrderEdlists, useandfornumberedLists, useandfornumberedlists, useandfornumberedlists, useandfornumberedlists, withTheyPeatTributeFferentNumberingStyles.

HTML은 명확한 구조를 가진 웹 사이트를 구축하는 데 사용됩니다. 1) 태그를 사용하여 웹 사이트 구조를 정의하십시오. 2) 예는 블로그 및 전자 상거래 웹 사이트의 구조를 보여줍니다. 3) 잘못된 레이블 중첩과 같은 일반적인 실수를 피하십시오. 4) HTTP 요청을 줄이고 시맨틱 태그를 사용하여 성능을 최적화합니다.

TOINSERTANIMAGEINTOANHTMLPAGE, USETHETAGWITHSRCANDALTATTRIBUTES.1) USEALTTEXTFORACCESSIBLEANDSEO.2) AMPLEMESSRCSETFORRESPONSIVEIMAGES.3) ApplyLazyLoadingWithLoading = "Lazy"TOOPTIMIZEPEROUCTION.4) OPTIMIZEPEPERCESIVEIMAGES

HTML의 핵심 목적은 브라우저가 웹 컨텐츠를 이해하고 표시 할 수 있도록하는 것입니다. 1. HTML은 TO 등과 같은 태그를 통해 웹 페이지 구조와 컨텐츠를 정의합니다. 2. HTML5는 멀티미디어 지원을 향상시키고 소개 및 태그를 향상시킵니다. 3.html은 사용자 상호 작용을 지원하기위한 양식 요소를 제공합니다. 4. HTML 코드를 최적화하면 HTTP 요청 감소 및 HTML 압축과 같은 웹 페이지 성능이 향상 될 수 있습니다.

htmltagsareessentialforwebdevelopmentasthuctureandenhancewebpages.1) thefinelayout, semantics 및 internactivity.2) semantictagsimproveAccessibility 및 sseo.3) appleasoftagscanoptimizeperformanceandenseRocRossercompatiber.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구