Foros del Web » Programando para Internet » Javascript »

problema con una vista previa

Estas en el tema de problema con una vista previa en el foro de Javascript en Foros del Web. Buenas tardes amigos, mi problema es el siguiente: tengo un campo de texto que al yo escribir en el me muestra la vista previa, osea ...
  #1 (permalink)  
Antiguo 03/01/2015, 13:33
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
problema con una vista previa

Buenas tardes amigos,

mi problema es el siguiente:

tengo un campo de texto que al yo escribir en el me muestra la vista previa, osea me muestra el texto en otro lado en la misma pagina, pero si yo hago una consulta a mi base de datos y ese campo de texto se llena automatico, no me hace la vista previa, estoy usando javascript pero como no se muy bien sobre ese lenguaje no consigo la forma de hacer lo que quiero si pueden ayudarme les agradezco de antemano.

aca el codigo que tengo para que me muestre la vista previa al yo escribir:

Código PHP:
<html>
  <
head>
    <
title>Prueba de vista previa</title>
    <
script type="text/javascript">
      <!--
      function 
hacerVistaPrevia()
      {
        
document.getElementById('vistaPrevia').innerHTML document.getElementById('txtComentario').value.split(/n/).join("<br />");
      }
      -->
    
</script>
    

  </head>
 
  <body>
  
    <form name="form1" method="post" action="">
    
      <textarea id="txtComentario" name="txtComentario" rows="7" cols="40" onkeyup="hacerVistaPrevia()"></textarea>
      
    </form>
    
    <div id="vistaPrevia"></div>
    
  </body>
</html> 
con eso me la muestra si yo escribo el en textarea..

pero si yo quiero que al yo colocarle al textarea contenido no me hace la vista previa asi como aca:

Código PHP:

<html>
  <
head>
    <
title>Prueba de vista previa</title>
    <
script type="text/javascript">
      <!--
      function 
hacerVistaPrevia()
      {
        
document.getElementById('vistaPrevia').innerHTML document.getElementById('txtComentario').value.split(/n/).join("<br />");
      }
      -->
    
</script>
    

  </head>
 
  <body>
  
    <form name="form1" method="post" action="">
    
      <textarea id="txtComentario" name="txtComentario" rows="7" cols="40" onkeyup="hacerVistaPrevia()">hola</textarea>
      
    </form>
    
    <div id="vistaPrevia"></div>
    
  </body>
</html> 
  #2 (permalink)  
Antiguo 04/01/2015, 01:07
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 10 años
Puntos: 0
Respuesta: problema con una vista previa

Déjame a ver si entendí en el segundo cuadro muestras un hola que es el resultado algún echo($PHP). Entonces debo suponer que cabas de cargar la pagina, en ese caso no se ha realizado ningún evento (onkeyup).

Quizás te sirva auto ejecutar la función, solo modifica el a tributo onload de la etiqueta body así:

Código HTML:
Ver original
  1. <body onload="hacerVistaPrevia();">

Con eso debe cargarte una ves este listo el DOM.
  #3 (permalink)  
Antiguo 04/01/2015, 03:10
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

muchas gracias por la ayuda amigo me funciono pero ahora tengo lo siguiente:

tengo una lista que se forma mediante los datos traídos de una base de datos y tengo unos checkbox,
cuando yo selecciono un checkbox quiero que agarre los datos de la lista a la cual le pertenezca ese checkbox y me los muestre en una vista previa quiero hacerlo con javascript pero no logro hacerlo.

si puedes ayudarme de antemano te lo agradecería :/
  #4 (permalink)  
Antiguo 04/01/2015, 12:12
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 10 años
Puntos: 0
Busqueda Respuesta: problema con una vista previa

Estoy seguro que es posible pero no comprendo aquellos de una lista y un checkbox, quieres decir que según el checkbox que tildes se cargue una lista ¿El checkbox seria algo como un agrupador?. Seria bueno que mostraras un poco de esa parte del codigo para poder ayudarte, por otra parte una manera de traer un arreglo desde php a javascript para luego recorrerlo es asignarlo a una variable asi:

Código Javascript:
Ver original
  1. var arreglojs = <?php echo json_encode($arreglophp); ?>;
  2. //Luego podrás recórrelo con algún for u otro bucle.
  #5 (permalink)  
Antiguo 06/01/2015, 08:51
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

el problema es el siguiente yo tengo una grilla con ciertos datos: id, nombre, cargo,etc..., radio button
yo quiero que al tildar el radio button 5 de los registros mostrados en la grilla el me coloque el nombre y el cargo en otros campos.

este es el codigo que uso:

Código PHP:
<?php
session_start
();
include (
'conexion.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Administrador de Publicacion</title>
<link href="css.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">

        function habilitar2(value){
            if(document.getElementById("gestionar").value){
                document.getElementById("nv").disabled=false;
                document.getElementById("pv").disabled=false;
            }
        }
        
        
</script>
<script language="javascript">
function fAgrega()
{
document.getElementById("nv1").innerHTML = document.getElementById("nv").value;
document.getElementById("pv1").innerHTML = document.getElementById("pv").value;
document.getElementById("gerencia1").innerHTML = document.getElementById("gerencia").value;
}
</script>

<script src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
    {
    $("#gestionar").click(function () {
    //saco el valor accediendo a un input de tipo text y name = nombre2 y lo asigno a uno con name = nombre3 
    $("#gerencia1").val($("#gerencia").val());
    });        
});
</script>

</head>

<body onload="fAgrega();">

<div class="page2">

        <div class="header2">
                              
        </div>

        <div class="main">
        <div style="padding-left: 10px;"> 
           
         <fieldset class="campofieldsetM">
                <legend>Administrador de Publicación de Cargos</legend>    
        <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm">
        
        
        <p>
        <label>Numero de Vacante:</label>
        <input name="nv" type="text" id="nv" size="1" maxlength="2" disabled="true"  onkeyup="fAgrega();">
        </p>
        <p>
        <label>Periodo de Validez:</label>
        <input name="pv" type="text" id="pv" size="1" maxlength="2" disabled="true"  onkeyup="fAgrega();">
        </p>
        <label >Lista de Vacantes</label>
        <table width="1008"  cellpadding="0" cellspacing="0" style="text-align:center">
            <thead>
                <tr>
                <th width="54">ITEM</th>
                <th width="285">Gerencia</th>
                <th width="227">Vacante</th>
                <th width="81">Status</th>
                <th width="159">Fecha de Publicación</th>
                <th width="124">Fecha de Cierra</th>
                <th width="76">Gestionar</th>
                </tr>
            </thead>
            <?PHP
            
            $sql 
"SELECT A.Gerencia,B.idpublivac,B.status,B.fechainicio,B.fechafin,C.Cargos
from EVA360_DS.dbo.Gerencias A
inner join jobposting.dbo.publivacantes B on A.IdGerencia=B.idgerencia
inner join EVA360_DS.dbo.Cargos C on C.IdCargo=B.idcargo
ORDER by B.idpublivac ASC"
;
            
$filtro sqlsrv_query($conn_eva360,$sql);
            
            while(
$row sqlsrv_fetch_array($filtro))
            {
            
?>
            <tbody>
                   <tr>
                <td width="54"><span title="ITEM"><label name="item" id="item" value="<?php print $row["idpublivac"?>"><?php print $row["idpublivac"?></label></span></td>
                <td width="285"><span title="Gerencia" style="font-size:13px" onkeyup="fAgrega();"><?php print $row["Gerencia"?></span></td>
                <td width="227"><span title="Cargo" style="font-size:13px"><?php print $row["Cargos"?></span></td>
                <td width="81"><span title="Status"><label name="status" id="status" value="<?php print $row["status"?>"><?php if($row["status"]==0){echo "";}elseif($row["status"]==1){echo "ABIERTO";}elseif($row["status"]==2){echo "CERRADO";} ?></label></span></td>
                <td width="159"><span title="Fecha de Publicación"><?php print $row["fechainicio"?></span></td>
                <td width="124"><span title="Fecha de Cierra"><?php print $row["fechafin"?></span></td>
                <td width="76" align="center"><span title="Gestionar"><input  name="gestionar[]" id="gestionar" type="radio" value="<?php print $row["idpublivac"?>" onchange="habilitar2(this.value);" onkeyup="f(this.value);"/></span></td>
                </tr>
            </tbody>
        <?php ?>
        </table>
</form>

</fieldset>
</div>
<div style="padding-left: 10px;"> 
           
         <fieldset class="campofieldsetM">
                <legend>Vista Previa de la Publicación</legend>    
        <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
            
                   CARGO:<span id="cargo1"></span><br>
                GERENCIA:<span id="gerencia1"></span><br>
                N° DE VACANTES DISPONIBLES: <span id="nv1"></span><br>
                PERIODO DE VALIDEZ: (FECHA INICIO) HASTA (FECHA FINAL):<span id="pv1"></span><br>
           
        </form>

</fieldset><p>
<form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
<input id="Insertar" name="Insertar" type="submit" value="Guardar Vacante" onclick="valida_envia()" style=""/>
<input id="Actualizar" name="Actualizar" type="submit" value="Actualizar Vacante" onclick="valida_envia()"/>
</form>

</div>
           
        </div>

</div>
    
     <div class="footer2">
            Centro Medico Paso Real 2014 C.A
        </div>
</body>
</html>
  #6 (permalink)  
Antiguo 06/01/2015, 12:14
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 10 años
Puntos: 0
Respuesta: problema con una vista previa

Bueno intentare ayudarte, con el siguiente codigo «modificación del tuyo [entenderás que solo simulare que he consultado en la base de datos, puesto que no me dispondré a crear una]»

Código HTML:
Ver original
  1. <!--Como no pienso crear una base de datos simulo un acosulta-->
  2. <?php
  3. for ($i = 0; $i <= 3; $i++) {
  4.    $row['idpublivac'][$i] = $i;
  5.    $row['cargo'][$i] = "cargo_$i";
  6.    $row['fechainicio'][$i] = "fecha-inicio_$i";
  7.    $row['fechafin'][$i] = "fecha-fin_$i";
  8.    $row['Gerencia'][$i] = "Gerencia_$i";
  9.    $row['Nombre'][$i] = "Nombre_$i";
  10. }
  11. ?>
  12. <!DOCTYPE html>
  13.     <head>
  14.         <meta charset="UTF-8">
  15.         <title>Administrador de Publicacion</title>
  16.         <script type="text/javascript">
  17. //Elimine el resto de funciones para que se note sea mas visible lo que quiero mostrar {Tu luego agregaras lo que necesites}
  18. //Se crea un arreglo llamado grilla con los datos que consultastes en la base de datos;
  19.             var Grilla = <?php echo json_encode($row) ?>;
  20.             function habilitar(valor) {
  21.                 var Cargo = document.getElementById("cargo1");
  22.                 var Gerencia = document.getElementById("gerencia1");
  23.                 var Fechini = document.getElementById("fechini");
  24.                 var Fechfin = document.getElementById("fechfin");
  25.                 Cargo.innerHTML = Grilla["cargo"][valor];
  26.                 Gerencia.innerHTML = Grilla["Gerencia"][valor];
  27.                 Fechini.innerHTML = Grilla["fechainicio"][valor];
  28.                 Fechfin.innerHTML = Grilla["fechafin"][valor];
  29.             }
  30.         </script>
  31.     </head>
  32.     <body>
  33.         <div class="page2">
  34.             <div class="header2">
  35.             </div>
  36.             <div class="main">
  37.                 <div style="padding-left: 10px;">
  38.                     <fieldset class="campofieldsetM">
  39.                         <legend>Administrador de Publicación de Cargos</legend>    
  40.                         <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm">
  41.                             <p>
  42.                                 <label>Numero de Vacante:</label>
  43.                                 <input name="nv" type="text" id="nv" size="1" maxlength="2" disabled="true"  onkeyup="fAgrega();">
  44.                             </p>
  45.                             <p>
  46.                                 <label>Periodo de Validez:</label>
  47.                                 <input name="pv" type="text" id="pv" size="1" maxlength="2" disabled="true"  onkeyup="fAgrega();">
  48.                             </p>
  49.                             <label >Lista de Vacantes</label>
  50.                             <table width="1008"  cellpadding="0" cellspacing="0" style="text-align:center">
  51.                                 <thead>
  52.                                     <tr>
  53.                                         <th width="54">ITEM</th>
  54.                                         <th width="285">Gerencia</th>
  55.                                         <th width="227">Vacante</th>
  56.                                         <th width="81">Status</th>
  57.                                         <th width="159">Fecha de Publicación</th>
  58.                                         <th width="124">Fecha de Cierra</th>
  59.                                         <th width="76">Gestionar</th>
  60.                                     </tr>
  61.                                 </thead>
  62.                                 <tbody>
  63.                                     <?php
  64.                                    for ($i = 0; $i <= 3; $i++) :
  65.                                        ?>
  66.                                         <tr>
  67.                                             <td width="54"><span title="ITEM"><label name="item" id="item" value="<?php echo $row['idpublivac'][$i]; ?>"><?php echo $row['idpublivac'][$i]; ?></label></span></td>
  68.                                             <td width="285"><span title="Gerencia" style="font-size:13px" onkeyup="fAgrega();"><?php echo $row['Gerencia'][$i]; ?></span></td>
  69.                                             <td width="227"><span title="Cargo" style="font-size:13px"><?php echo $row['cargo'][$i]; ?></span></td>
  70.                                             <td width="81"><span title="Status"><label name="status" id="status" value="<?php echo $row['status'][$i]; ?>">ABIERTO</label></span></td>
  71.                                             <td width="159"><span title="Fecha de Publicación"><?php echo $row['fechainicio'][$i]; ?></span></td>
  72.                                             <td width="124"><span title="Fecha de Cierra"><?php echo $row['fechafin'][$i]; ?></span></td>
  73.                                             <td width="76" align="center"><span title="Gestionar"><input  name="gestionar[]" id="gestionar-<?php echo $i; ?>" type="radio" value="<?php echo $i; ?>" onchange="habilitar(this.value);"/></span></td>
  74.                                         </tr>
  75.                                         <?php
  76.                                    endfor;
  77.                                    ?>
  78.                                 </tbody>
  79.                             </table>
  80.                         </form>
  81.                     </fieldset>
  82.                 </div>
  83.                 <div style="padding-left: 10px;">
  84.                     <fieldset class="campofieldsetM">
  85.                         <legend>Vista Previa de la Publicación</legend>    
  86.                         <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
  87.                             CARGO:<span id="cargo1"></span><br>
  88.                             GERENCIA:<span id="gerencia1"></span><br>
  89.                             N° DE VACANTES DISPONIBLES: <span id="nv1"></span><br>
  90.                             PERIODO DE VALIDEZ: (<span id="fechini"></span>) HASTA (<span id="fechfin"></span>)
  91.                         </form>
  92.                     </fieldset>
  93.                     <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
  94.                         <input id="Insertar" name="Insertar" type="submit" value="Guardar Vacante" onclick="valida_envia()" style=""/>
  95.                         <input id="Actualizar" name="Actualizar" type="submit" value="Actualizar Vacante" onclick="valida_envia()"/>
  96.                     </form>
  97.                 </div>
  98.             </div>
  99.         </div>
  100.     </body>
  101. </html>

CopyPaste el contenido anterior en una nueva hoja PHP y luego estudias el proceso ^_^ ojala te sea de utilidad...

PD: Veo sobre cargas en el diseño, deberías tener en cuenta varios aspectos: Separa el Css y Javascript del HTML, trata de usar bien los contenedores y demas etiquetas...

Última edición por NeaFan; 06/01/2015 a las 12:21
  #7 (permalink)  
Antiguo 06/01/2015, 14:46
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

muchas gracias de verdad amigo por interesarte en mi problema, pero cuando trato de implementar el cambio con la bd no me agarra o mejor dicho no se como implementarla :s no se mucho de java unido con php :s
  #8 (permalink)  
Antiguo 07/01/2015, 07:52
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

fijate amigo lo modifique pero cuando selecciono el checkbox me sale en el lado undefined aca te coloco el codigo a ver si consigues el error que tengo:

Código PHP:
<?php
include ('conexion.php');
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Administrador de Publicacion</title>
        <script type="text/javascript">
            
            function habilitar(f) {
                
            
                
                cual1 = 'gestionar[]';
    
                todos = new Array();
    
                for (var i = 0, total = f[cual1].length; i < total; i++) {
                if (f[cual1][i].checked) todos[todos.length] = f[cual1][i].value;
                }
     
    
                document.getElementById('sel1').value = todos;
                
                var Grilla = todos;
                var Cargo = document.getElementById("cargo1");
                var Gerencia = document.getElementById("gerencia1");
                Cargo.innerHTML = Grilla["Cargo"];
                Gerencia.innerHTML = Grilla["Gerencia"];
            }
        </script>
    </head>
    <body>
        <div class="page2">
            <div class="header2">
            </div>
            <div class="main">
                <div style="padding-left: 10px;"> 
                    <fieldset class="campofieldsetM">
                        <legend>Administrador de Publicación de Cargos</legend>    
                        <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm">
                            <p>
                                <label>Numero de Vacante:</label>
                                <input name="nv" type="text" id="nv" size="1" maxlength="2" disabled="true"  onkeyup="fAgrega();">
                            </p>
                            <p>
                                <label>Periodo de Validez:</label>
                                <input name="pv" type="text" id="pv" size="1" maxlength="2" disabled="true"  onkeyup="fAgrega();">
                            </p>
                            <label >Lista de Vacantes</label>
                            <table width="1008"  cellpadding="0" cellspacing="0" style="text-align:center">
                                <thead>
                                    <tr>
                                        <th width="54">ITEM</th>
                                        <th width="285">Gerencia</th>
                                        <th width="227">Vacante</th>
                                        <th width="76">Gestionar</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php
$sql 
"SELECT A.Gerencia,B.idpublivac,B.status,B.fechainicio,B.fechafin,C.Cargos
from EVA360_DS.dbo.Gerencias A
inner join jobposting.dbo.publivacantes B on A.IdGerencia=B.idgerencia
inner join EVA360_DS.dbo.Cargos C on C.IdCargo=B.idcargo
ORDER by B.idpublivac ASC"
;
            
$filtro sqlsrv_query($conn_eva360,$sql);
            
            while(
$row sqlsrv_fetch_array($filtro))
            
                {
                    
                                        
?>
                                        <tr>
                                            <td width="54"><span title="ITEM"><label name="item" id="item" value="<?php echo $row['idpublivac']; ?>"><?php echo $row['idpublivac']; ?></label></span></td>
                                            <td width="285"><span title="Gerencia" style="font-size:13px"><?php echo $row['Gerencia']; ?></span></td>
                                            <td width="227"><span title="Cargo" style="font-size:13px"><?php echo $row['Cargos']; ?></span></td>
                                            <td width="76" align="center"><span title="Gestionar"><input  name="gestionar[]" id="gestionar" type="radio" value="<?php echo $row['idpublivac']; ?>" onchange="habilitar(this.form);"/></span></td>
                                        </tr>
                                        <?php
                
}
                                    
?>
                                </tbody>
                            </table>
                            <input type="text" id="sel1" value="" />
                        </form>
                    </fieldset>
                </div>
                <div style="padding-left: 10px;"> 
                    <fieldset class="campofieldsetM">
                        <legend>Vista Previa de la Publicación</legend>    
                        <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
                            CARGO:<span id="cargo1"></span><br>
                            GERENCIA:<span id="gerencia1"></span><br>
                        </form>
                    </fieldset>
                    <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
                        <input id="Insertar" name="Insertar" type="submit" value="Guardar Vacante" onclick="valida_envia()" style=""/>
                        <input id="Actualizar" name="Actualizar" type="submit" value="Actualizar Vacante" onclick="valida_envia()"/>
                    </form>
                    
                </div>
            </div>
        </div>
    </body>
</html>
  #9 (permalink)  
Antiguo 07/01/2015, 10:05
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 10 años
Puntos: 0
Respuesta: problema con una vista previa

Tu problema es de lógica te mostrare la función comentada...
Código Javascript:
Ver original
  1. //Primero que todo la variable grilla esperaria algo como esto un arreglo proveniente de la base de datos...
  2.             //var Grilla = <?php echo json_encode($row) ?>;
  3.             function habilitar(f) {
  4.                 //declaras el name al que accesaras
  5.                 cual1 = 'gestionar[]';
  6.                 //creas un arreglo
  7.                 todos = new Array();
  8.                 //Estimas la cantidad de checkbox con el name gestionar[]
  9.                 total = f[cual1].length;
  10.                 //Recorres todos los checkbox existentes
  11.                 for (var i = 0; i < total; i++) {
  12.                     //Agregas el value del checkbox seleccionado al arreglo todos
  13.                     //Algo in-necesario puesto que solo estara activo un checkbox, obtendras entonces el value de dicho
  14.                     //checkbox, no necesitas entonces un arreglo.
  15.                     if (f[cual1][i].checked) {
  16.                         todos[todos.length] = f[cual1][i].value;
  17.                     }
  18.                 }
  19.                 //Si mostrases el resultado en pantalla te darias cuenta que es solo un valor correspondiente al value
  20.                 alert("ese es el value del checkbox: " + todos);
  21.                 //Grilla esta esperando un ARREGLO. OJO CON ESTO!!
  22.                 var Grilla = todos;
  23.                 var Cargo = document.getElementById("cargo1");
  24.                 var Gerencia = document.getElementById("gerencia1");
  25.                 //Es como si estuvieras intentando mostrar un elemnto contenido dentro de un escalar OJO!!
  26.                 Cargo.innerHTML = Grilla["Cargo"];
  27.                 Gerencia.innerHTML = Grilla["Gerencia"];
  28.             }
  #10 (permalink)  
Antiguo 07/01/2015, 10:22
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 10 años
Puntos: 0
Respuesta: problema con una vista previa

Es mas, para que no te compliques la vida solo realiza un pequeño juego de tranza de variables, el formulario que te envié funciona bien. sin embargo las variables contenidas son un juego creado por un bucle.

Una vez cambies ese juego podrías usar el formulario que te mande sin problemas:
Código PHP:
Ver original
  1. <?php
  2. #Realizas tu consulta normalmente
  3. $sql = "SELECT A.Gerencia,B.idpublivac,B.status,B.fechainicio,B.fechafin,C.Cargos
  4. from EVA360_DS.dbo.Gerencias A
  5. inner join jobposting.dbo.publivacantes B on A.IdGerencia=B.idgerencia
  6. inner join EVA360_DS.dbo.Cargos C on C.IdCargo=B.idcargo
  7. ORDER by B.idpublivac ASC";
  8. $filtro = sqlsrv_query($conn_eva360,$sql);
  9. $i = 0;
  10. #El resultado lo asignas a los arreglos contenidos en el ejemplo que te adjunte
  11. #anteriormente, puesto que pudiste comprobar que funcionaban. No deberias tener problemas.
  12. while($db = sqlsrv_fetch_array($filtro)) {
  13.     $row['idpublivac'][$i] = $db['idpublivac'];
  14.     $row['cargo'][$i] = $db['cargo'];
  15.     $row['fechainicio'][$i] = $db['fechainicio'];
  16.     $row['fechafin'][$i] = $db['fechafin'];
  17.     $row['Gerencia'][$i] = $db['Gerencia'];
  18.     $row['Nombre'][$i] = $db['Nombre'];
  19.     $i++;
  20. }
  21. ?>

En otras palabras has CopyPaste en tu documento original de este code:

Código HTML:
Ver original
  1. <?php
  2. #Realizas tu consulta normalmente
  3. $sql = "SELECT A.Gerencia,B.idpublivac,B.status,B.fechainicio,B.fechafin,C.Cargos
  4. from EVA360_DS.dbo.Gerencias A
  5. inner join jobposting.dbo.publivacantes B on A.IdGerencia=B.idgerencia
  6. inner join EVA360_DS.dbo.Cargos C on C.IdCargo=B.idcargo
  7. ORDER by B.idpublivac ASC";
  8. $filtro = sqlsrv_query($conn_eva360,$sql);
  9. $i = 0;
  10. #El resultado lo asignas a los arreglos contenidos en el ejemplo que te adjunte
  11. #anteriormente, puesto que pudiste comprobar que funcionaban. No deberias tener problemas.
  12. while($db = sqlsrv_fetch_array($filtro)) {
  13.    $row['idpublivac'][$i] = $db['idpublivac'];
  14.    $row['cargo'][$i] = $db['cargo'];
  15.    $row['fechainicio'][$i] = $db['fechainicio'];
  16.    $row['fechafin'][$i] = $db['fechafin'];
  17.    $row['Gerencia'][$i] = $db['Gerencia'];
  18.    $row['Nombre'][$i] = $db['Nombre'];
  19.    $i++;
  20. }
  21. ?>
  22. <!DOCTYPE html>
  23.     <head>
  24.         <meta charset="UTF-8">
  25.         <title>Administrador de Publicacion</title>
  26.         <script type="text/javascript">
  27. //Elimine el resto de funciones para que se note sea mas visible lo que quiero mostrar {Tu luego agregaras lo que necesites}
  28. //Se crea un arreglo llamado grilla con los datos que consultastes en la base de datos;
  29.             var Grilla = <?php echo json_encode($row) ?>;
  30.             function habilitar(valor) {
  31.                 var Cargo = document.getElementById("cargo1");
  32.                 var Gerencia = document.getElementById("gerencia1");
  33.                 var Fechini = document.getElementById("fechini");
  34.                 var Fechfin = document.getElementById("fechfin");
  35.                 Cargo.innerHTML = Grilla["cargo"][valor];
  36.                 Gerencia.innerHTML = Grilla["Gerencia"][valor];
  37.                 Fechini.innerHTML = Grilla["fechainicio"][valor];
  38.                 Fechfin.innerHTML = Grilla["fechafin"][valor];
  39.             }
  40.         </script>
  41.     </head>
  42.     <body>
  43.         <div class="page2">
  44.             <div class="header2">
  45.             </div>
  46.             <div class="main">
  47.                 <div style="padding-left: 10px;">
  48.                     <fieldset class="campofieldsetM">
  49.                         <legend>Administrador de Publicación de Cargos</legend>    
  50.                         <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm">
  51.                             <p>
  52.                                 <label>Numero de Vacante:</label>
  53.                                 <input name="nv" type="text" id="nv" size="1" maxlength="2" disabled="true"  onkeyup="fAgrega();">
  54.                             </p>
  55.                             <p>
  56.                                 <label>Periodo de Validez:</label>
  57.                                 <input name="pv" type="text" id="pv" size="1" maxlength="2" disabled="true"  onkeyup="fAgrega();">
  58.                             </p>
  59.                             <label >Lista de Vacantes</label>
  60.                             <table width="1008"  cellpadding="0" cellspacing="0" style="text-align:center">
  61.                                 <thead>
  62.                                     <tr>
  63.                                         <th width="54">ITEM</th>
  64.                                         <th width="285">Gerencia</th>
  65.                                         <th width="227">Vacante</th>
  66.                                         <th width="81">Status</th>
  67.                                         <th width="159">Fecha de Publicación</th>
  68.                                         <th width="124">Fecha de Cierra</th>
  69.                                         <th width="76">Gestionar</th>
  70.                                     </tr>
  71.                                 </thead>
  72.                                 <tbody>
  73.                                     <?php
  74.                                    for ($i = 0; $i <= 3; $i++) :
  75.                                        ?>
  76.                                         <tr>
  77.                                             <td width="54"><span title="ITEM"><label name="item" id="item" value="<?php echo $row['idpublivac'][$i]; ?>"><?php echo $row['idpublivac'][$i]; ?></label></span></td>
  78.                                             <td width="285"><span title="Gerencia" style="font-size:13px" onkeyup="fAgrega();"><?php echo $row['Gerencia'][$i]; ?></span></td>
  79.                                             <td width="227"><span title="Cargo" style="font-size:13px"><?php echo $row['cargo'][$i]; ?></span></td>
  80.                                             <td width="81"><span title="Status"><label name="status" id="status" value="<?php echo $row['status'][$i]; ?>">ABIERTO</label></span></td>
  81.                                             <td width="159"><span title="Fecha de Publicación"><?php echo $row['fechainicio'][$i]; ?></span></td>
  82.                                             <td width="124"><span title="Fecha de Cierra"><?php echo $row['fechafin'][$i]; ?></span></td>
  83.                                             <td width="76" align="center"><span title="Gestionar"><input  name="gestionar[]" id="gestionar-<?php echo $i; ?>" type="radio" value="<?php echo $i; ?>" onchange="habilitar(this.value);"/></span></td>
  84.                                         </tr>
  85.                                         <?php
  86.                                    endfor;
  87.                                    ?>
  88.                                 </tbody>
  89.                             </table>
  90.                         </form>
  91.                     </fieldset>
  92.                 </div>
  93.                 <div style="padding-left: 10px;">
  94.                     <fieldset class="campofieldsetM">
  95.                         <legend>Vista Previa de la Publicación</legend>    
  96.                         <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
  97.                             CARGO:<span id="cargo1"></span><br>
  98.                             GERENCIA:<span id="gerencia1"></span><br>
  99.                             N° DE VACANTES DISPONIBLES: <span id="nv1"></span><br>
  100.                             PERIODO DE VALIDEZ: (<span id="fechini"></span>) HASTA (<span id="fechfin"></span>)
  101.                         </form>
  102.                     </fieldset>
  103.                     <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
  104.                         <input id="Insertar" name="Insertar" type="submit" value="Guardar Vacante" onclick="valida_envia()" style=""/>
  105.                         <input id="Actualizar" name="Actualizar" type="submit" value="Actualizar Vacante" onclick="valida_envia()"/>
  106.                     </form>
  107.                 </div>
  108.             </div>
  109.         </div>
  110.     </body>
  111. </html>

PD: ten en cuenta que el nombre de las variables de los arreglos PHP corresponden a los que arroja la sentencia SELECT de mysql «Todo debe estar bien definido»
  #11 (permalink)  
Antiguo 07/01/2015, 10:26
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

fijate yo quiero que mediante el radio button tildado el tome el valor y se lo envie a una variable en javascript para q el tome lo escrito dentro de una etiqueta html que esta dentro de la fila del radio button seleccionado osea:

ejemplo:
si yo tengo la grilla y selecciono el radio de la fila 5 quiero que me tome los datos de los campos cargo y gerencia y me los coloque en otro lado tu me ayudaste pero cuando modifico el que tu me mandaste y paso a colocarle la conexion y todo eso no me muestra el resultado esperado, por que estan los arreglos de los ciclos for, si yo le quito esos arreglos y le coloco el id traido de la consulta no me funciona por eso te pase ese ultimo para que me validaras lo que estoy tratando de hacer.

gracias por mandarme el analisis de la funcion que estoy usuando pero no me agarra el valor de la etiqueta cargo y gerencia y me los pasa, hasta donde lo tengo ahi me agarra perfecto el id del radio button seleccionado pero no me extrae y me los muestra en otro lado mas los datos que estan dentro de la etiqueta cargo y gerencia mas abajo.

gracias nuevamente y si puedes seguir ayudandome te lo agradezco
  #12 (permalink)  
Antiguo 07/01/2015, 10:31
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

repeticion de post me equivoque

Última edición por preto960; 07/01/2015 a las 10:32 Razón: repeticion de post me equivoque
  #13 (permalink)  
Antiguo 07/01/2015, 10:33
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 10 años
Puntos: 0
Exclamación Respuesta: problema con una vista previa

Cita:
Iniciado por preto960 Ver Mensaje
... no me agarra el valor de la etiqueta cargo y gerencia...
Esto es porque estas tratando de extraerlos de una variable Javascript cuyo contenido de seteado por un valor QUE NO ES UN ARREGLO:

Código Javascript:
Ver original
  1. var Grilla = todos;

Esa variable todo lo que obtuvo fue el VALUE del checkbox seleccionado «OJO: EL VALUE NO ES UN ARREGLO, menos el que tu deseas»

Intentaste usar el ultimo CopyPaste que te he enviado Que mensaje te arroja O.o no te ha servido O.o...
  #14 (permalink)  
Antiguo 07/01/2015, 10:49
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

no me muestra nada se quedan los campos de abajo en blanco osea es como si no ejecutara la instruccion pues.

yo lo que hice fue poner el que tu me enviaste le quite unos campos que no me hacen falta aca te lo paso:

Código PHP:
<?php
include ('conexion.php');
#Realizas tu consulta normalmente
$sql "SELECT A.Gerencia,B.idpublivac,B.status,B.fechainicio,B.fechafin,C.Cargos
from EVA360_DS.dbo.Gerencias A
inner join jobposting.dbo.publivacantes B on A.IdGerencia=B.idgerencia
inner join EVA360_DS.dbo.Cargos C on C.IdCargo=B.idcargo
ORDER by B.idpublivac ASC"
;
$filtro sqlsrv_query($conn_eva360,$sql);
$i 0;
#El resultado lo asignas a los arreglos contenidos en el ejemplo que te adjunte
#anteriormente, puesto que pudiste comprobar que funcionaban. No deberias tener problemas.
while($db sqlsrv_fetch_array($filtro)) {
    
$row['idpublivac'][$i] = $db['idpublivac'];
    
$row['cargo'][$i] = $db['Cargos'];
    
$row['Gerencia'][$i] = $db['Gerencia'];
    
$i++;
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Administrador de Publicacion</title>
        <script type="text/javascript">
//Elimine el resto de funciones para que se note sea mas visible lo que quiero mostrar {Tu luego agregaras lo que necesites}
//Se crea un arreglo llamado grilla con los datos que consultastes en la base de datos;
            var Grilla = <?php echo json_encode($row?>;
            function habilitar(valor) {
                var Cargo = document.getElementById("cargo1");
                var Gerencia = document.getElementById("gerencia1");
                Cargo.innerHTML = Grilla["cargo"][valor];
                Gerencia.innerHTML = Grilla["Gerencia"][valor];
            }
        </script>
    </head>
    <body>
        <div class="page2">
            <div class="header2">
            </div>
            <div class="main">
                <div style="padding-left: 10px;"> 
                    <fieldset class="campofieldsetM">
                        <legend>Administrador de Publicación de Cargos</legend>    
                        <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm">
                            <label >Lista de Vacantes</label>
                            <table width="1008"  cellpadding="0" cellspacing="0" style="text-align:center">
                                <thead>
                                    <tr>
                                        <th width="54">ITEM</th>
                                        <th width="285">Gerencia</th>
                                        <th width="227">Vacante</th>
                                        <th width="76">Gestionar</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php
                                    
                                    
for ($i 0$i <= 3$i++) :
                                        
?>
                                        <tr>
                                            <td width="54"><span title="ITEM"><label name="item" id="item" value="<?php echo $row['idpublivac'][$i]; ?>"><?php echo $row['idpublivac'][$i]; ?></label></span></td>
                                            <td width="285"><span title="Gerencia" style="font-size:13px"><?php echo $row['Gerencia'][$i]; ?></span></td>
                                            <td width="227"><span title="Cargo" style="font-size:13px"><?php echo $row['cargo'][$i]; ?></span></td>
                                            <td width="76" align="center"><span title="Gestionar"><input  name="gestionar[]" id="gestionar-<?php echo $i?>" type="radio" value="<?php echo $i?>" onchange="habilitar(this.value);"/></span></td>
                                        </tr>
                                        <?php
                                    
endfor;
                                    
                                    
?>
                                </tbody>
                            </table>
                        </form>
                    </fieldset>
                </div>
                <div style="padding-left: 10px;"> 
                    <fieldset class="campofieldsetM">
                        <legend>Vista Previa de la Publicación</legend>    
                        <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
                            CARGO:<span id="cargo1"></span><br>
                            GERENCIA:<span id="gerencia1"></span><br>
                        </form>
                    </fieldset>
                    <form action="" method="post" enctype="multipart/form-data" target="_self" id="theForm" name="theForm" style="text-align:center">
                        <input id="Insertar" name="Insertar" type="submit" value="Guardar Vacante" onclick="valida_envia()" style=""/>
                        <input id="Actualizar" name="Actualizar" type="submit" value="Actualizar Vacante" onclick="valida_envia()"/>
                    </form>
                </div>
            </div>
        </div>
    </body>
</html>
  #15 (permalink)  
Antiguo 07/01/2015, 11:01
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 10 años
Puntos: 0
Respuesta: problema con una vista previa

Pues lo mas seguro es que tengas que realizar Derbugs tu mismo, ^_^ un método que suelo usar es el echo para saber si se están escribiendo las variables ejemplo:
Código PHP:
Ver original
  1. while($db = sqlsrv_fetch_array($filtro)) {
  2.     $row['idpublivac'][$i] = $db['idpublivac'];
  3.     $row['Cargos'][$i] = $db['Cargos'];
  4.     $row['Gerencia'][$i] = $db['Gerencia'];
  5.     $i++;
  6.     echo "El valor de i: $i, el valor de row[idpublica][i]: " .$row['idpublivac'][$i] . ", y asi...";
  7.     $otra_opcion = "El valor de i: $i, el valor de row[idpublica][i]: " .$row['idpublivac'][$i] . ", y asi...";
  8.     echo "<script>alert('$otra_opcion');</script>";
  9. }

El primer echo podrás visualizar el cambio al dar click derecho sobre la pagina, opción: "ver código fuente"

El segundo echo es mucho mas fácil de visualizar puesto que se ejecutara esa sentencia javascript una vez cargues la pagina...

En fin te toca ir depurando errores ^_^...
  #16 (permalink)  
Antiguo 07/01/2015, 11:11
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

amigo la unica forma de hacer eso es colocando un FOR? por que fijate el idpublivac que es consultado de la base de datos el es el id de cada item y cuando se coloca el FOR el item 1 en el radio button tiene el value 0 cuando deberia tener el mismo valor.
  #17 (permalink)  
Antiguo 07/01/2015, 11:26
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

fijate aja tengo el resultado pero como hago ahora para mostrarlo en otros campos cuando seleccione el checkbox?? ese es mi gran pregunta en todo lo demas ya lo habia entendido y ya he hecho eso tambien hace dias pero igual no sabia como pasarlo a los otros campos donde quiero que se muestren al presionar el checkbox ;s

si puedes ayudar por favor
  #18 (permalink)  
Antiguo 07/01/2015, 11:28
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

de casualidad puedes explicarme para que usan esto : <?php echo json_encode($row) ?> ;s
  #19 (permalink)  
Antiguo 07/01/2015, 12:50
 
Fecha de Ingreso: diciembre-2014
Ubicación: montería
Mensajes: 33
Antigüedad: 10 años
Puntos: 0
Sonrisa Respuesta: problema con una vista previa

imagina que tienes en tu base de datos una tabla con los datos de los productos así:

| id | producto | precio_min | precio_max |
|01 | cocacola | 1000 | 1500 |
|02 | pepsy | 1100 | 1400 |

realizas una consulta:

Código MySQL:
Ver original
  1. SELECT * FROM `productos`;

Supongamos que por el método que utilices recuperaste la respuesta en la variable $miConsultaPHP, entonces seguramente accederías a cualquier dato mas o menos así:

Código PHP:
Ver original
  1. $miConsultaPHP['producto'][1] //Esto retornaría 'pepsy'

Ahora supongamos que dentro de tu script hiciste algo así:

Código Javascript:
Ver original
  1. var miConsultaJS = <?php echo json_encode($miConsultaPHP); ?>;

Y teniendo en cuenta que esta linea se ejecuto en el servidor UFF hace mucho tiempo antes de que Javascript tan solo piense en despertar.

Código PHP:
Ver original
  1. echo json_encode($miConsultaPHP);  /* Escribe algo como:
  2. [{"id":"1","0":"1","producto":"cocacola","1":"cocacola","precio_min":"1000","2":"1000","precio_max":"1500","3":"1500"},{"id":"2","0":"1","producto":"pepsy","1":"pepsy","precio_min":"1100","2":"1000","precio_max":"1500","3":"1500"}]
  3. */

Osea que tendrías en tu script esta linea:

Código Javascript:
Ver original
  1. var miConsultaJS =
  2. [{"id":"1","0":"1","producto":"cocacola","1":"cocacola","precio_min":"1000","2":"1000","precio_max":"1500","3":"1500"},{"id":"2","0":"1","producto":"pepsy","1":"pepsy","precio_min":"1100","2":"1000","precio_max":"1500","3":"1500"}];

Que Javascript entiende como un arreglo, finalmente si accedes a:

Código Javascript:
Ver original
  1. miConsultaJS['producto'][1]; //Retornaría pepsy
  2. miConsultaJS[1][1];             //Retornaría pepsy

Espero sea bastante ilustrativo...

Última edición por NeaFan; 07/01/2015 a las 12:56
  #20 (permalink)  
Antiguo 08/01/2015, 09:13
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: problema con una vista previa

demasiado ilustrativo amigo pero realmente no entiendo javascript junto a php ;s gracias por ayudarme pero no me sirvio ;S

Etiquetas: html, previa, vista
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 07:04.