Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Como obtener el valor de un campo sin enviar el submit

Estas en el tema de Como obtener el valor de un campo sin enviar el submit en el foro de Frameworks JS en Foros del Web. Bueno lo que necesito es lo siguiente tengo un formulario: Código PHP:      < form name = "form1"  method = "post"  enctype = "multipart/form-data" >           < ...
  #1 (permalink)  
Antiguo 26/09/2008, 12:35
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años
Puntos: 12
Como obtener el valor de un campo sin enviar el submit

Bueno lo que necesito es lo siguiente tengo un formulario:

Código PHP:
    <form name="form1" method="post" enctype="multipart/form-data">
          <
table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">

    <
tr>

      <
td colspan="2" class="titlemedium"><div align="center">Datos del Servidor </div></td>
    </
tr>

    <
tr>

      <
td width="48%" class="tdrow1"><strong>Nombre </strong></td>

      <
td width="52%" class="tdrow2"><div align="left">
        <
input name="nombre" type="text"  class="textinput" id="nombre">
      </
div></td>
    </
tr>

    <
tr>

    <
tr>

      <
td class="tdrow1"><strong>Juego</strong></td>

      <
td class="tdrow2"><div align="left">
        <
label>
        <
select name="juego" id="juego">
          <
option value="Medal Of Honor" selected>Medal Of Honor</option>
          <
option value="Counter Strike 1.6">Counter Strike 1.6</option>
          <
option value="Call Of Duty 2">Call Of Duty 2</option>
        </
select>
        </
label>
      </
div></td>
    </
tr>

          <
input type="submit" name="submit" value="Enviar"  id="button">

      <
input type="button" name="cancelar" value="Cancelar"  onClick=history.go(-1);>

        </
div>        </td>
    </
tr>
  </
table>
</
form
Bueno lo que necesito es saber que juego seleciono (pero sin haber mandado el submit), para que ?, bueno para hacer un if y asi segun el juego que selecione que muestre mas tablas, es posible obtener el valor juego sin enviar el submit y poder trabajar con el en algo asi como $juego = juego ??.

Gracias.
  #2 (permalink)  
Antiguo 26/09/2008, 12:40
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Como obtener el valor de un campo sin enviar el submit

¿Sin enviar Submit? (Sin recarga)

AJAX :)
  #3 (permalink)  
Antiguo 26/09/2008, 12:45
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años
Puntos: 12
Respuesta: Como obtener el valor de un campo sin enviar el submit

podrias darme un codigo que no tengo mucha experiencia
  #4 (permalink)  
Antiguo 26/09/2008, 12:51
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Como obtener el valor de un campo sin enviar el submit

¿Sabes algo de Javascript?
¿Por lo menos lo basico?

De todos modos, muevan este tema para AJAX.

Basicamente seria obtener el Option seleccionado, enviarlo a un script PHP y obtener el resultado.

Código HTML:
<script type="text/javascript">
var XMLHttpRequestObject=false;
try {
	// Creacion del objeto AJAX para navegadores no IE
	XMLHttpRequestObject=new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
	try	{
		// Creacion del objet AJAX para IE
		XMLHttpRequestObject=new ActiveXObject("Microsoft.XMLHTTP");
	} catch(E) {
		if (!XMLHttpRequestObject && typeof XMLHttpRequest!='undefined') XMLHttpRequestObject=new XMLHttpRequest();
	}
}
</script> 
Ahora creamos la funcion para obtener los datos del archivo PHP.

Código HTML:
<script type="text/javascript">
function getData()
{
	var selectOrigen = document.getElementById('selectOrigen');
	var selected = selectOrigen.options[selectOrigen.selectedIndex].value;
	
	if(XMLHttpRequestObject) {
		XMLHttpRequestObject.open("POST", "process.php", true);
		XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		XMLHttpRequestObject.onreadystatechange = function()
		{
			if (XMLHttpRequestObject.readyState == 4 &&	XMLHttpRequestObject.status == 200) {
				document.getElementById('divDestino').innerHTML = XMLHttpRequestObject.responseText;
			}
		}
		XMLHttpRequestObject.send("enviar="+selected);
	}
}
</script> 
Y el archivo PHP:

Código PHP:
<?php

//conexion;
$talcosa $_POST['enviar'];
$sql "SELECT * FROM tabla WHERE talcosa='$talcosa'";
$query mysql_query($sql) or die(mysql_error());
$row mysql_fetch_assoc($query);

//Imprimir el formulario con los campos o que se yo xD como tu decidas

?>
Y el HTML del <select>, ya eso te lo dejo a ti.

Nota*: No hice el codigo en base al que ya pusiste.

Última edición por Ronruby; 26/09/2008 a las 13:07
  #5 (permalink)  
Antiguo 26/09/2008, 12:55
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años
Puntos: 12
Respuesta: Como obtener el valor de un campo sin enviar el submit

algo, estoy empezando a lo que es java pero podrias ser mas preciso ? =P
  #6 (permalink)  
Antiguo 26/09/2008, 13:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Como obtener el valor de un campo sin enviar el submit

Tema trasladado a AJAX.
  #7 (permalink)  
Antiguo 26/09/2008, 13:17
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Como obtener el valor de un campo sin enviar el submit

Tomar el valor del <select>, enviarlo por medio de POST usando AJAX (Asynchronous Javascript and XML), y poner la respuesta en un DIV (O como tu quieras).

El problema esta en que se hace muy complicado sino tienes ninguna base de Javascript.

Te recomiendo leer algun libro. AJAX for Dummies o alguno que encuentres por ahi en la red o una libreria.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 04:00.