Foros del Web » Programando para Internet » Javascript »

JavaScript VS PHP

Estas en el tema de JavaScript VS PHP en el foro de Javascript en Foros del Web. Buenas tardes. Llevo mucho tiempo estudiando con ustedes la forma de desarrollar entornos web mediante html,php y ahora estoy tocando javascript. Mi problema es que ...
  #1 (permalink)  
Antiguo 22/05/2011, 13:02
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 6 meses
Puntos: 1
JavaScript VS PHP

Buenas tardes.

Llevo mucho tiempo estudiando con ustedes la forma de desarrollar entornos web mediante html,php y ahora estoy tocando javascript.

Mi problema es que quiero hacer como un paso por caja de un comercio.
Entonces pensé que Javascript sería ideal ya que no tendría que llamar al servidor cada vez que se pulse cualquier boton.
El problema es que al comprobar si este código pertenece a la base de datos me falla el nexo con javascript.

<script>

function escribe(valor){
var operando1=document.calc.operando1.value
if (operando1==0) document.calc.operando1.value = valor
else document.calc.operando1.value = operando1*10+valor
}
function a_resultado(){
var operando1=document.calc.operando1.value
if (<?php $id=esta_en_bd($operando1,"articulos"); echo $id; ?>){
var res=document.calc.resultado.value
if (operando1!=0){
if (res==0) res=operando1
else {
res = "," + res;
res = operando1 + res
}
document.calc.resultado.value =res
}
}else {alert("Este artículo no está en la base de datos. Intentelo de nuevo.");}
document.calc.operando1.value =0
}
</script>

en el body tengo esto:
<form name="calc">
<table cellpadding="0" cellspacing="0" border="0" align="center" >
<tr><td>
<table cellpadding="0" cellspacing="0" border="0" align="center" >
<tr align="center"><td>
<input type="Button" name="valor1" value=" 1 " onClick="escribe(1)">
</td><td>
<input type="Button" name="valor2" value=" 2 " onClick="escribe(2)">
</td><td>
<input type="Button" name="valor3" value=" 3 " onClick="escribe(3)">
</td></tr>
<tr align="center"><td>
<input type="Button" name="valor4" value=" 4 " onClick="escribe(4)">
</td><td>
<input type="Button" name="valor5" value=" 5 " onClick="escribe(5)">
</td><td>
<input type="Button" name="valor6" value=" 6 " onClick="escribe(6)">
</td></tr>
<tr align="center"><td>
<input type="Button" name="valor1" value=" 7 " onClick="escribe(7)">
</td><td>
<input type="Button" name="valor2" value=" 8 " onClick="escribe(8)">
</td><td>
<input type="Button" name="valor3" value=" 9 " onClick="escribe(9)">
</td></tr>
<tr align="center"><td colspan="3">
<input type="Button" name="valor0" value=" 0 " onClick="escribe(0)">
</td></tr>
<tr align="center"><td colspan="3">
<input type="Button" name="" value=" Borrar " onClick="document.calc.operando1.value=0">
</td></tr>
<tr align="center"><td colspan="3">
<input type="Text" name="operando1" value="0" width="200" onBlur="a_resultado()">
</td></tr>
<tr align="center"><td colspan="3">
<input type="Button" name="" value=" Me lo quedo(enter) " onClick="a_resultado()" onKeyDown="a_resultado()">
</td></tr>
</table> </td>
<td>
<textarea name="resultado" value="0" rows="10"></textarea>
<input type="Button" name="" value=" Borrar " onClick="document.calc.resultado.value=0">
</td></tr>
</table>
</form>


1º No detecta la función esta_en_bd() que tengo implementada en php.

Otro problema que no consigo solucionar es que si meto un número en operador1 y le doy al intro se vuelve a cargar la página. Mi intención es que se cargue el número en el resultado.


Un saludo y gracias de antemano
  #2 (permalink)  
Antiguo 22/05/2011, 17:24
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: JavaScript VS PHP

recuerda que javascript se ejecuta en el cliente, y PHP en el servidor, cuando quieras obtener datos del servidor sin recargar la pagina en javascript, tendrás que recurrir a AJAX.

otra aclaración: evita usar referencias directas porque muchos navegadores no las soportan, usa las colecciones:

document.forms['calc'].elements['operando1'].value
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 24/05/2011, 10:16
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: JavaScript VS PHP

Ok muchas gracias.

Voy a aprender un poquito de Ajax.

Muy buen consejo lo de los form ya que no tenía constancia.


PD: Lo del intro cómo lo puedo arreglar??
Un saludo
Dani
  #4 (permalink)  
Antiguo 24/05/2011, 12:44
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: JavaScript VS PHP

Por lo que he estado viendo.
Con ajax se trabaja el xml y sobre javascript pero no encuentro la forma de interce entre javascript y php. O bien la forma de trabajar con mysql.

:(
  #5 (permalink)  
Antiguo 24/05/2011, 13:09
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: JavaScript VS PHP

AJAX de lo que trata es de usar javascript para comunicarse con el servidor (independientemente del lenguaje que se use en el servidor, puede ser PHP, ASP, Java, etc).

Esto se consigue gracias a un objeto javascript (en IE se llama de una manera y en los otros navegadores de otra) que permite realizar la comunicación con el servidor de manera que no sea necesario recargar la página.

Tienes que entender que las peticiones que se realizan son exactamente iguales a las que realizamos mediante un formulario y los datos devueltos por el servidor dependen de como lo tengamos programado.

Se suele usar xml o json para la devolución de datos por parte del servidor, pero también se puede devolver cualquier otro tipo de dato.

Te paso un link con un ejemplo con AJAX:

http://www.cristalab.com/tutoriales/ajax-y-javascript-no-intrusivo-y-accesible-c218l/

También puede usar librerías de javascript como JQuery que te facilitan mucho el trabajo con AJAX.

Otro link de ejemplo: http://www.cristalab.com/tutoriales/ajax-en-jquery-c226l/


Espero que te haya sido de ayuda.

Etiquetas: php
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:31.