Estoy intentando cambiar un <iframe src=... >cuando alguien hace clic en un botón de opción. Por alguna razón, mi código no funciona correctamente y tengo problemas para averiguar por qué. Esto es lo que tengo:
<!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 content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
<script>
function go(loc) {
document.getElementById('calendar').src = loc;
}
</script>
</head>
<body>
<iframe id="calendar" src="about:blank" width="1000" height="450" frameborder="0" scrolling="no"></iframe>
<form method="post">
<input name="calendarSelection" type="radio" onselect="go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')" />Day
<input name="calendarSelection" type="radio" onselect="go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')" />Week
<input name="calendarSelection" type="radio" onselect="go('http://calendar.zoho.com/embed/9a6054c98fd2ad4047021cff76fee38773c34a35234fa42d426b9510864356a68cabcad57cbbb1a0?title=Kevin_Calendar&type=1&l=en&tz=America/Los_Angeles&sh=[0,0]&v=1')" />Month
</form>
</body>
</html>
javascript
iframe
src
Shinjuo
fuente
fuente

Respuestas:
En este caso, probablemente se deba a que está usando los corchetes incorrectos aquí:
debiera ser
fuente
onselectno es el atributo correcto para usar aquí. Es posible que desee usaronclick, aunque tenga en cuenta que eso no se activará si el usuario usa su tecladoonchangepara eso.onclickfunciona para encender / apagar un botón de radio, entonces todo está resuelto, ¡genial!Quizás esto pueda ser útil ... Es html simple, sin javascript:
Por cierto, algunos sitios no le permiten abrirlos en iframe (razones de seguridad: clickjacking)
fuente
Aquí está la forma jQuery de hacerlo:
fuente
El
onselectdebe haberonclick. Esto funcionará para usuarios de teclado.También recomendaría agregar
<label>etiquetas al texto de "Día", "Mes" y "Año" para que sea más fácil hacer clic en ellos. Código de ejemplo:También recomendaría eliminar los espacios entre el atributo
onclicky el valor, aunque los navegadores pueden analizarlo:Debiera ser:
fuente
Esto también debería funcionar, aunque
srcpermanecerá intacto:fuente
Aquí está mi código actualizado. Funciona bien y puede ayudarte.
fuente
cambiar
onselectaonchangeen insumos y usoMostrar fragmento de código
fuente
Puedes resolverlo haciendo el iframe en javascript
fuente