0 votos
por (540 puntos) en Javascript
function cambiavalores($cod,$nom,$mail,$sexo,$pais){

$xrow=ejecutaquery("select paisid from pais where pais='" . $pais ."'");

$idpais=$xrow['paisid'];

$navegador=knavegador();

if ($navegador!="msexplorer"){?>

 <script type="text/javascript">

  var $nomb="<? echo($nom) ?>";

  var $codi="<? echo($cod) ?>";

  var $xmail="<? echo($mail) ?>";

  var $idpais="<? echo($idpais) ?>";

  var $sexo="<? echo($sexo) ?>";

  document.getElementById("codigo").value=$codi;

  document.getElementById("nombres").value= $nomb;

  document.getElementById("mail").value= $xmail;

  document.getElementById("pais").selectedIndex= $idpais;

  document.getElementByName("sexo").value= $sexo;

 </script>

<?

}

else {

?>

<script type="text/javascript">

    document.getElementById("codigo").value="<? echo($cod) ?>";

    document.getElementById("nombres").value= "<? echo($nom) ?>";

    document.getElementById("mail").value= "<? echo($mail) ?>";

    document.getElementById("pais").options[<? echo($idpais) ?>].selected= true ;

    document.getElementById("sexo").value= ("<? echo($sexo) ?>");

</script>

<?

 }

}


14 Respuestas

0 votos
por (4.3k puntos)
@Paulo Arieu,

¿Cómo es el formulario que tiene la página? Para ver los valores.

Por otro lado por un alert($idpais) para ver que valor está recuperando de la BD.


0 votos
por (540 puntos)
function ponerform2($xid,$nom,$mail,$sexo,$pais){

//Modificar suscripcion

$xid=trim($xid);

if ($xid == &quot;upd&quot;) {

                 //Solicito para buscar suscripcion a modificar

                // carteldealerta(&quot;ACA NO deberia entrar&quot;);

                 echo('<form action=&quot;f2a.php?cual=2&quot; method=&quot;post&quot; name=&quot;formususcrip&quot; target=&quot;_top&quot; id=&quot;formsuscrip&quot;  onsubmit=&quot;MM_validateForm(&quot;nombres&quot;,&quot;&quot;,&quot;R&quot;,&quot;mail&quot;,&quot;&quot;,&quot;RisEmail&quot;);return document.MM_returnValue&quot;>');

                  echo('<p class=&quot;Letrachiquita>&quot;' . $cartel . '</p>');

                  echo('<hr />');

                  echo('<p class=&quot;Letrachiquita&quot;>Apellidos y Nombre:');

                  echo('<p><input name=&quot;nombres&quot; type=&quot;text&quot; id=&quot;nombres&quot; size=&quot;40&quot; maxlength=&quot;40&quot; /></p>');

                  echo('<p class=&quot;Letrachiquita&quot;>Mail: </p>');

                  echo('<p class=&quot;Letrachiquita&quot;><input name=&quot;mail&quot; type=&quot;text&quot; id=&quot;mail&quot; size=&quot;40&quot; maxlength=&quot;40&quot; /></p>');

                  echo('</p><div align=&quot;left&quot;>');

                  echo('<input name=&quot;Buscar&quot; type=&quot;submit&quot; id=&quot;busc&quot; onclick=&quot;MM_validateForm(&quot;nombres&quot;,&quot;&quot;,&quot;R&quot;);');

                  echo('MM_validateForm(&quot;mail&quot;,&quot;&quot;,&quot;RisEmail&quot;);');

                  echo('return document.MM_returnValue&quot; value=&quot;Buscar>>&quot;/>');

                  echo('<input name=&quot;resy&quot; type=&quot;reset&quot; id=&quot;restab&quot; value=&quot;<<Restablecer&quot; />');

                  echo('</div><hr/>');

                  echo('</form>');

              }

      else  {

      //Datos de suscripcion a modificar

       //carteldealerta(&quot;Ahora anda bien&quot;);

                  echo('<form action=&quot;f2a.php?cual=4&quot; method=&quot;post&quot; name=&quot;formususcrip&quot; target=&quot;_top&quot; id=&quot;formsuscrip&quot; onsubmit=           &quot;MM_validateForm(&quot;nombres&quot;,&quot;&quot;,&quot;R&quot;,&quot;mail&quot;,&quot;&quot;,&quot;RisEmail&quot;);return document.MM_returnValue&quot;>');

                  echo('<p class=&quot;Letrachiquita>&quot;' . $cartel . '</p>');

                  echo('<hr />');

                  echo('<p class=&quot;Letrachiquita&quot;>Código:' . $xid );

                  echo('<input id=&quot;codigo&quot; style=&quot;visibility:hidden&quot; type=&quot;text&quot; name=&quot;codigo&quot;/>');

                  echo('<p class=&quot;Letrachiquita&quot;>Apellidos y Nombre:');

                  echo('<p><input name=&quot;nombres&quot; type=&quot;text&quot; id=&quot;nombres&quot; size=&quot;40&quot; maxlength=&quot;40&quot; /></p>');

                  echo('<p class=&quot;Letrachiquita&quot;>Mail: </p>');

                  echo('<p class=&quot;Letrachiquita&quot;><input name=&quot;mail&quot; type=&quot;text&quot; id=&quot;mail&quot; size=&quot;40&quot; maxlength=&quot;40&quot; /></p>');

               echo('<p class=&quot;Letrachiquita&quot;>Sexo:</p>');

               echo('<p class=&quot;Letrachiquita&quot;>');

               echo('<label><input type=&quot;radio&quot; name=&quot;sexo&quot; value=&quot;F&quot; id=&quot;sexo_0&quot; />F</label>');

               echo('
<label><input type=&quot;radio&quot; name=&quot;sexo&quot; value=&quot;M&quot; id=&quot;sexo_1&quot; />');

               echo('M</label>
</p><p class=&quot;Letrachiquita&quot;>');

               /*para llenar un combobox con los datos de una lista maestra de base de datos. */

               ponerpaises();

               echo('</p><div align=&quot;left&quot;>');

               echo('<input name=&quot;Suscribe&quot; type=&quot;submit&quot; id=&quot;Suscribe&quot;

                     onclick=&quot;MM_validateForm(&quot;nombres&quot;,&quot;&quot;,&quot;R&quot;);

                     MM_validateForm(&quot;mail&quot;,&quot;&quot;,&quot;RisEmail&quot;);

                     return document.MM_returnValue&quot; value=&quot;Suscribir>>&quot;/>

                     <input name=&quot;restable&quot; type=&quot;reset&quot; id=&quot;restablec&quot; value=&quot;<<Restablecer&quot; />

                     </div><hr/>

                     </form>');

              cambiavalores($xid,$nom,$mail,$sexo,$pais);

      }

}


0 votos
por (540 puntos)
Los valores de la BD vienen bien,yo los chekie.En ms explorer funcionan bien,menos el control radiogrup, que no lo toma el valor checked.

Espero su amable respuesta. Y gracias por responderme.

saludos cordiales


0 votos
por (4.3k puntos)
Vaya, justo quería ver lo que ponía en la función ponerpaises();

Cuando dices que los valores de la BD vienen bien, has comprobado que la línea

document.getElementById(&quot;pais&quot;).options[<? echo($idpais) ?>].selected= true

Genera un id dentro del options[] que existe en el formulario que has creado en ponerpaises();

Es lo único que se me ocurre. Como te comentaba, .options[] funciona correctamente en el Google Chrome.

Tienes esto en alguna web para poderlo depurar online. Por ver si podemos ver otras cosas...


0 votos
por (540 puntos)
Gracias por su respuesta.

Esta es la funcion ponerpaises.Asi lleno el objeto combobox con la lista de paises.

function ponerpaises(){

/*para llenar un combobox con los datos de una lista maestra de base de datos. */

$se3=$_SESSION['servidor3'];

$se4=$_SESSION['servidor4'];

$se5=$_SESSION['servidor5'];

$se6=&quot;select pais from pais order by pais&quot;;

$con=mysql_connect($se3,$se7,$se5);

mysql_select_db($se4,$con)  or die (&quot;
 Error de acceso Base de Datos.No se ha podido conectar
&quot; . mysql_error());

$Resultado = mysql_query($se6,$con);

if (!$Resultado){

     echo (&quot;
 Codigo: &quot; .  mysql_errno($con) . &quot;
&quot;);

     echo &quot;
 Error de lectura en la tabla &quot;. mysql_error($con) . +&quot;
&quot;;

     break;

     }

    $num_rows =  mysql_num_rows($Resultado);

echo('</p>Pais</p>');

echo(&quot;<SELECT type=text size=1 cols=1 id='pais' name='pais'>&quot;);

    echo ('<OPTION> ');

    echo(' ');

    echo( '</OPTION>');

while($row = mysql_fetch_array($Resultado)) {

    echo ('<OPTION> ');

    echo($row['pais']);

    echo( '</OPTION>');

}

mysql_free_result($Resultado);

echo(&quot;</select>'</p>&quot;);

}


0 votos
por (540 puntos)
Con el explorador de Microsoft ,el codigo <b>document.getElementById(&quot;pais&quot;).options[<? echo($idpais) ?>].selected= true</b>, funciona bien.

La web es http://creaciondivina.com.ar

El procedimiento es en suscripcion,modificar.

saludos


0 votos
por (4.3k puntos)
@Paulo Arieu,

Soy incapaz de probarlo y llegar al formulario en cuestión. Te he dejado un ejemplo en http://lineadecodigo.com/wp-content/uploads/2009/09/marcar-valor-combo-dinamicamente.html

para que veas como funciona en Chrome.


0 votos
por (540 puntos)
Hola.No le respondi antes porque me lie con el desarrollo.Rehice las paginasen conflicto  y la funciones relacionadas,practicamente de cero.

Yo tendré en cuenta el articulo y le respondo.

Gracias por su respuesta.

Paulo


0 votos
por (4.3k puntos)
@Paulo Arieu,

Espero que el artículo te pueda ayudar. Y aquí seguimos, para lo que necesites.


0 votos
por (540 puntos)
Hola, pareciera que ya se corrigio. Al menos asigna bien ahora. Se ve que era problema mio. Copie la funcion como la uso ud. y anduvo bien.

Pero ahora tengo otro problemita (jejejej):

Es con el control radiogrup:

var sexo=&quot;<? echo($sexo) ?>&quot;;

document.getElementByName(&quot;sexo&quot;).value= sexo;

Espero me pueda orientar,como hizo la vez anterior.

Gracias y espero su amable respuesta.

Paulo


Preguntas relacionadas

Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...