Foros del Web » Programando para Internet » Javascript »

consulta sobre innerHTML

Estas en el tema de consulta sobre innerHTML en el foro de Javascript en Foros del Web. Es una consulta bastante simple, existe alguna forma de que cuando asigne mediante un "innerHTML" dinámicamente a un espacio X una funcion de JavaScript no ...
  #1 (permalink)  
Antiguo 29/10/2004, 09:55
Avatar de wolf777  
Fecha de Ingreso: junio-2004
Ubicación: Bolivia
Mensajes: 199
Antigüedad: 19 años, 10 meses
Puntos: 0
consulta sobre innerHTML

Es una consulta bastante simple, existe alguna forma de que cuando asigne mediante un "innerHTML" dinámicamente a un espacio X una funcion de JavaScript no cambie de página, les aclaro más...


flow_conrtolller.js
Código HTML:
tabla = document.getElementById("tabla_xl");
if(eval(customer_registration.shipping_amount.value)==0){
fila = tabla.getElementsByTagName("TR")[4];celda = fila.getElementsByTagName("TD")[3];celda.innerHTML="$"+customer_registration.shipping_amount.value;
fila = tabla.getElementsByTagName("TR")[4];celda = fila.getElementsByTagName("TD")[2];celda.innerHTML="none";
}
else{
fila = tabla.getElementsByTagName("TR")[4];
celda =fila.getElementsByTagName("TD")[2];
celda.innerHTML=country_d();
}
Cuando asigno al innerHTML la función country se crea una página nueva lo cual no deberia ocurrir ????

country tiene estas caracteristicas: "country.js"
Código HTML:
var country_v=['(Select your country)','Afghanistan','Albania','Algeria'....];
function country_d(){
	var country_z=country_v.length;
	document.write("<select name='country' id='country' class='blackText' onChange='selected_c(this)'>");
	for(i=0;i<country_z;i++){
		document.write("<option value="+country_v[i]+">"+country_v[i]+"</option>");}
	document.write("</select>");
}

function selected_c(a){
	var counter=-1;
	var name=a.value;
	var a_size=a.length;
	do{counter++;}while(!(a.options[counter].selected))
	if(counter==221){customer_registration.amount.value=9.95;}
	else{customer_registration.amount.value=45.5;}
	}

Como puedo colocar este elemento sin que aparezca una página nueva?????

saludos
__________________
Do not let The Darknness Get You, to soon...
  #2 (permalink)  
Antiguo 31/10/2004, 16:13
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 19 años, 8 meses
Puntos: 5
Hola wolf777
Este script solo lo he probado en IE6 y Mozilla 1.7, en teoria debe de funcionar en IE5+ y NS6+
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<
html>
<
head>
<
title>Crear un select</title>

</
head>
<
body>
<
div id="selectCountry"></div>

<
a href="javascript:void(0)" onclick="create_select()">Crear select</a>
<
script language=JavaScript type=text/javascript>
<!--
var 
country_v=['(Select your country)','Afghanistan','Albania','Algeria'];

function 
create_select(){
  
// comprobar que form1 no este creado
  
for(var ct1 ct1 document.forms.lengthct1++){

    if(
document.forms[ct1].name == "form1"){ return false}
  }
  
// Donde vamos a colocar el formulario
  
var div_select document.getElementById("selectCountry")
  
// Creamos el objeto form
  
var form_node document.createElement("form")
  
div_select.appendChild(form_node)
  
// añadimos el atributo name
  
form_node.setAttribute("name","form1")
  
form_node.setAttribute("action","form.php")
  var 
select_node document.createElement("select")
  
form_node.appendChild(select_node)
  
select_node.setAttribute("name","select1")


  for(var 
ct 0ct country_v.lengthct++){

      var 
option_node document.createElement("option")
      
select_node.appendChild(option_node)
      
option_node.setAttribute("value",country_v[ct])
      var 
text_node document.createTextNode(country_v[ct])
      
option_node.appendChild(text_node)


  }
  
/* IE solo me ha permitido  acceder a las propiedades
   y valores del select creado  mediante  la sintaxis de
   arrays
  */
  
for(var ct1 ct1 document.forms.lengthct1++){
    if(
document.forms[ct1].name == "form1"){
        for(var 
ct2 0ct2 document.forms[ct1].elements.lengthct2++){
        if(
document.forms[ct1].elements[ct2].name == "select1" ){
          
/*En teoria podria añadir el evento onchange con
          select_node.setAttribute("onchange","show_selectedIndex()")
          pero en IE no funciona
          */
          
document.forms[ct1].elements[ct2].onchangeshow_selectedIndex
         
}
        
      }
    }
  }
}

function 
show_selectedIndex(){
alert(this.options[this.selectedIndex].value)

}


//-->
</script>


</body>
</html> 
Espero que te sirva, un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:38.