PHP - Guardar el document.getElementById("id").value en una variable php?

 
Vista:
Imágen de perfil de Jesus Alberto

Guardar el document.getElementById("id").value en una variable php?

Publicado por Jesus Alberto (29 intervenciones) el 29/05/2013 19:47:05
Hola.

Tengo un formulario. Este tiene un campo input text donde recoge un número. Por ejemplo 1450. Pero lo que quiero hacer es que ese número al salir el focus del input sea convertido por numer_format de php. Por eso se me ocurrio esto. Que al salir el focus una funcion js recoja lo que tiene el input mediante document.fetElementById, pasandole de parametro la id del input más .value. Ya verifiqué que si toma el valor, el problema está en que quiero guardar eso en una variable de php. Cómo hago eso? e.e

Se me había ocurrido algo así:
1
2
3
4
5
6
$(function(){
	$("#impo").blur(function(){
		<?php $vari ?> = document.getElementById('impo').value;
 
	});
});
Pero pues no me funcioní XD! Alguien sabe como?
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jon

Guardar el document.getElementById(

Publicado por Jon (27 intervenciones) el 29/05/2013 23:04:20
PHP es un lenguajes que se ejecuta de lado del servidor.
JavaScript se ejecuta del lado del Cliente.
Si deseas que php haga el trabajo de darte un formato al numero debes hacer que AJAX recupere el contenido de una pagina en PHP. y luego Con JavaScript Remplazar el contenido de Input.
O de otro modo debes validar y formar el numero al memento que envie el formulario con PHP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar el document.getElementById(

Publicado por xve (6935 intervenciones) el 29/05/2013 23:07:07
Hola Jesus, como sabes el Javascript se ejecuta en el navegador del clientes, y el PHP en el servidor, por lo que de alguna manera, tienes que enviar ese valor de Javascript al servidor para poder ser recogido por PHP.

Para ello, la manera que yo conozco es con AJAX, y jquery a mi modo de ver es la herramienta adecuada para ello.
Por ejemplo, puedes utilizar load()... algo así:

$("#iddestino").load('/pagina.php', {valor:$("#impo").val()});

De esta forma, tu pagina php recibe el valor de la variable y lo que devuelva el PHP te lo pondra en el id iddestino.

Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jesus Alberto

Guardar el document.getElementById(

Publicado por Jesus Alberto (29 intervenciones) el 30/05/2013 19:27:56
Ok, primeramente Jon gracias por contestar. Y más gracias a ti xve.
xve, verás me encantó tu modo de ver hehehe justo así es lo que quiero. Pero por alguna razón no lo hace S:
Quisiera saber que tengo mal. Aquí está mi código.

documento1.php tengo:
La función JS:
1
2
3
4
5
6
7
8
<script type="text/javascript">
$(function(){
	$("#impo").blur(function(){
		$(this).load('numberFormat.php',{valor:$("#impo").val()});
 
	});
});
</script>


Y el html del formulario:
1
2
3
4
<div>
	<label for="importe" id="import">Importe</label>
	<input type="text" id="impo" />
</div>

Y en numberFormat.php tengo esto:
1
2
3
4
5
<?php
	$num = $_POST['valor'];
	$enFormato = number_format($num,2,'.','');
	echo $enFormato;
 ?>

Si inserto 1896 por ehemplo me tiene que salir 1 896.00, pero me lo deja igual :I Como si no pasa nada. Sabe dónde está mi error?

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jesus Alberto

Guardar el document.getElementById(

Publicado por Jesus Alberto (29 intervenciones) el 30/05/2013 20:00:58
Ya vi que si lo hace, pero el problema es'ta en que no me reemplaza los datos que el usuario puso primero SSS:
Ya probé haciendo que se imprima en otro input. Pero yo quiero hacer que se imprima en ese mismo! como le hago? T.T
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar el document.getElementById(

Publicado por xve (6935 intervenciones) el 31/05/2013 07:46:02
Hola Jesus, creo que ya he visto donde esta el problema... yo te lo había puesto, para que lo pusiera dentro de un div, pero tu lo que quieres es que lo ponga en el value de un input...

Una manera simple podría ser:
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
    $(function(){
        $("#impo").blur(function(){
            $.post('numberFormat.php', {valor:$("#impo").val()}, function(data){
                $("#impo").val(data);
            });
        });
    });
</script>

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jesus Alberto

Guardar el document.getElementById(

Publicado por Jesus Alberto (29 intervenciones) el 31/05/2013 20:29:13
hahaha xve muchas gracias!!! Así me funciona perfectamente! Te lo agradezco demasiado. Mira, mientras esperaba muchas respuestas de foros yo me ponía a pensar y moverle un poco a mi código. Resulta que siempre encuentro una solución por mi cuenta propia pero es algo loca hehehe X) Mira, yo había hecho esto:

1
2
3
4
5
6
7
8
9
10
11
12
$(function(){
	$("#impo").blur(function(){
		var importes = document.getElementById('impo').value;
		document.formEgresos.importe.value="";
 
		$('#ocult').load('numberFormat.php',{valor:importes}, function(){
			var valHide = document.getElementById('ocult').value;
			document.formEgresos.importe.value=valHide;
		});
 
	});
});
Primero obtiene lo del input impo, después lo vacia. uso load y lo guardo en un textarea que tengo oculto para que me guarde allí la cantidad ya procesada y después de desde ese textarea lo jalo hacia mi impo hehehe
Es algo absurdo, pero me funcionaba y así lo pensaba dejar. Pero ya me vienes con la mejor respuesta de todas. Muchas gracias!! Así como me lo dices es mucho mejor y más fácil ehhe. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Guardar el document.getElementById(

Publicado por xve (6935 intervenciones) el 01/06/2013 09:45:30
Jesus, lo importante es intentarlo... yo cuando empezaba también me pasaba lo mismo que a ti, pero poco a poco uno va mejorando... intenta y mejoraras!!!

Gracias por comentarlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Guardar el document.getElementById(

Publicado por Elias (1 intervención) el 27/10/2021 06:07:00
si deseas capturar los datos desde un input lo haces mediante el id
doc src: index.php
<script src="js.js"></script>
<form action="recibir.php" onsubmit="return datos()" method="post">
<label for="nombre">Nombres</label><br>
<input type="text" name="nombre" id="nombre"/><br>
<label for="apellido">Apellidos</label><br>
<input type="text" name="apellido" id="apellido"/><br>
<label for="email">E-mail</label><br>
<input type="email" name="email" id="email"/><br>
<label for="password">Contraseña</label><br>
<input type="password" name="password" id="password"><br>
<input type="submit" value="Enviar" name="Enviar"/>
</form>

Hacia a un js src: js.js
// en este caso lo haces mediante una función y el nombre de id pero con el # para indicar que es id y si es por clase seria un punto . y en comillas simples.

function datos(){
let $nombre = document.querySelector('#nombre').value;
let $apellido = document.querySelector('#apellido').value;
let $email = document.querySelector('#email').value;
let $password = document.querySelector('#password').value;
alert($nombre + $apellido + $email + $password);
}

y hacia a un php doc src: recibir.php
// en esta caso lo haces mediante el metodo post
<?php
$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$email = $_POST['email'];
$password = $_POST['password'];

echo $nombre.$apellido.$email.$password;

?>
espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar