Foros del Web » Programando para Internet » Javascript »

funcion javascript no funciona dentro de un div

Estas en el tema de funcion javascript no funciona dentro de un div en el foro de Javascript en Foros del Web. Hola gente, gracias a su ayuda casi termino con mi trabajo, pero ahora tengo un pequeño problema. Tengo una pagina que que tiene un formulario ...
  #1 (permalink)  
Antiguo 21/03/2012, 10:35
 
Fecha de Ingreso: septiembre-2010
Mensajes: 74
Antigüedad: 13 años, 8 meses
Puntos: 1
Pregunta funcion javascript no funciona dentro de un div

Hola gente,
gracias a su ayuda casi termino con mi trabajo, pero ahora tengo un pequeño problema.
Tengo una pagina que que tiene un formulario y un div en la parte inferior. En el formulario tengo una caja de texto y un boton para buscar. La idea es que el usuario ingrese un codigo y lo envie a otra pagina donde se hace la consulta y muestra el resultado de la misma. Gracias a ajax paso el valor que ingreso en la caja de texto y luego muestro la otra pagina en el div inferior, tambien con ajax. Asi se ve todo en una pagina.
La pagina que muestro en el div tiene una grilla la cual al final de cada fila tiene un chheckbox que al tildarlo habilita la caja de texto, esto lo hago con javascript. Y aqui el gran problema. Si yo le envio el codigo que ingrese en el textbox a la pagina donde hago la consulta y muestro esa pagina aparte y no en el div inferior de la primera,la funcion en javascript que habilita los textbox al tildar los texbox. funciona bien. Pero si lo que quiero hacer es mostrar la pagina de la consulta en el div inferior la fincion que habilita los textbox no anda y me aparesen siempre desabilitadas.

aqui el codigo

Código PHP:
<script lang="javascript">
function 
objetoAjax(){
    var 
xmlhttp=false;
    try {
        
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (
e) {
        try {
           
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (
E) {
            
xmlhttp false;
          }
    }

    if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
        
xmlhttp = new XMLHttpRequest();
    }
    return 
xmlhttp;
}




//_________________________________________________________________________
function buscar(){ //esta es la funcion que envia los datos de manea asincrona
    //div donde  mostrararemos  los datos de la consulta 
    
divResultado document.getElementById('resultado');

    
//tomamos el valor enviado del formulario de envio
    
clave=document.formulario.clave.value;

    
//instanciamos el objetoAjax
    
ajax=objetoAjax();
    
//usamos el medoto POST
    //archivo que realizará la operacion
    
ajax.open("POST""buscar_cod_vender.php",true);
    
//mostramos una imagen mientras cargamos el resultado de la consulta
    //divResultado.innerHTML= '<img src="images/ajax.gif">';
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
//visualizamos el resultado correscpondiente
            
divResultado.innerHTML ajax.responseText
        
}
    }
    
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    
//enviando los valoress
    
ajax.send("clave="+clave)
}
</script>
<html>
    
    <form action="" name="formulario" >
<input type="text" id="clave"  > <button type="button" onClick="buscar()">buscar</button>
    </form>

<div id="resultado">

  </div>
</html> 
Y esta es la otra pagina que mostrare dentro del div de la anterior

Código PHP:
<?php
include_once 'lib.php';
$cod =$_POST['clave'];


$conexionmysql_connect($dbhost$dbuser$dbpassword);
mysql_select_db($database$conexion);
$result mysql_query("SELECT id_stock, codigo, descrip, pre_min, pre_may, disponibles  FROM stock where activo = '1'and codigo = $cod"$conexion);
?>
<form name="vender" method="post" action="vender_prod.php">
    <table border="2">
        <tr>
            <th>ID</th>
            <th>Codigo</th>
            <th>Descrip</th>
            <th>Prec.Min</th>
            <th>Prec.May</th>
            <th>Disponibles</th>
            <th></th>
<!--            <th style='border: none'></th>-->
            <th>Cantidad</th>
 
        </tr>
        <?php
        $i 
0;
        while (
$row mysql_fetch_array($result)) {
            
?>
            <tr>
                <td><?php echo $row['id_stock'?></td>
                <td><?php echo $row['codigo'?></td>
                <td style="width: 500px"><?php echo $row['descrip'?></td>
                <td align="right"><?php echo "$"; echo $row['pre_min'?></td>
                <td align="right"><?php echo "$"; echo $row['pre_may'?></td>
                <td align="center"><?php echo $row['disponibles'?></td>
                <td><input id="chk_<?php echo $i ?>" name="seleccion[]" type="checkbox" value="<?php echo$row['id_stock'?>" class="chk"/></td>
<!--                <td style="border: none"></td>-->
                <td><input id=txt_<?php echo $i ?>" name="cantidad[]" disabled="disabled" type="text" style="width: 60" class="txt"/></td>  
            </tr>
 
            <?php
            $i
++;
        }
        
?>
    </table>
    <br />
    <input type="submit" name="submit" value="Enviar">
</form>
 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript">
    
    $(document).ready(function(){ 
       
        $(".chk").change(function(){
            var comentario = $( '.txt', $( this ).parents ( 'tr' ) );
            if( $(this).is(':checked')){            
                comentario.removeAttr('disabled');
            } else {
                comentario.attr('disabled', true);
            }
        });
    });
    
</script>
alguna idea de porque cuando la llamo dentro del div la funcion javascript no anda y porque cuando la llamo en una pagina aparte si?????

Última edición por tesistas; 21/03/2012 a las 11:04
  #2 (permalink)  
Antiguo 21/03/2012, 12:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: funcion javascript no funciona dentro de un div

Supongo que te esta sucediendo lo que se explica en este ejemplo, es decir tenes que cargar el javascript asociado tambien (lo mismo ocurre con el css)

http://foros.emprear.com/ajax/html-css-js-ajax/

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 21/03/2012, 15:03
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 11 meses
Puntos: 1012
Respuesta: funcion javascript no funciona dentro de un div

necesitas ejecutar script de un responsetext
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 21/03/2012, 15:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 74
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: funcion javascript no funciona dentro de un div

Gracias por contestar emprear e IsaBelM, pero si se fijan mi funcion javascript esta incluida dentro de la segunda pagina, osea la que quiero mostrar dentro del div de la primera. Y no sabria como hacer para ponerla en una externa, ya que la uso para habilitar o desabilitar los textbox. Por fijense el codigo que pegue arriba. Gracias

Etiquetas: ajax, formulario, funcion, html, input, js, php, botones
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 06:32.