JavaScript - Externalizar javascript

 
Vista:

Externalizar javascript

Publicado por oxboow (2 intervenciones) el 23/01/2019 09:25:06
Hola buenos días. No soy experto programador pero estoy haciendo mis pinitos y me he topado con un problema que no se solucionar ni buscar la solución....

Tengo una página web de venta online que he hecho como buenamente he podido (o sabido) y necesito ayuda.

Al inicio de la página cargo un archivo XML donde están los productos listados con sus precios...

1
2
3
<?php
$productos = simplexml_load_file("../precios.xml");
?>

Y luego por mediación de JAVASCRIPT y PHP hago que cada producto listado en la web se pueda añadir a un campo de texto (pedido) mediante esta función para cada producto (sé que es muy rudimentario pero no he sabido hacerlo de otra manera).

1
2
3
4
5
6
7
8
9
10
<script language="javascript" type="text/javascript">
function add<?php echo $productos->producto[0]->id; ?>() {
	var newtext = document.order.<?php echo $productos->producto[0]->id; ?>.value;
	var cantidad = prompt("¿Qué cantidad de <?php echo $productos->producto[0]->nombre; ?> necesitas? Ejemplos: 2 para hacer guacamole, 1 maduro y 2 verdes, 3 unidades, etc. Pulsa aceptar para añadir al formulario de pedido. ¡Muchas gracias!", "");
	if (cantidad!=null && cantidad!=0){
	document.order.order_detail.value += newtext + "- " + cantidad + "\n";
	document.getElementById("seleccion0").innerHTML ="Ya en tu pedido!";
		} else {return;};
}
</script>

Mi duda es que necesito externalizar el js porque la página html ya está pesando demasiado (muchos productos) y no sé cómo hacerlo ya que al meter las funciones en un archivo js y llamarlo desde el html no me lo lee... (supongo que será por el código PHP que lleva dentro).

¿Me podríais echa una mano con alguna idea, consejo u orientación?

Gracias de antemano a tod@s chic@s!
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 Xavi
Val: 1.807
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Externalizar javascript

Publicado por Xavi (68 intervenciones) el 23/01/2019 10:30:56
Si, exacto... el problema, es que al incluir el archivo js, lo hace el navegador, y cuando lo incluye, el código PHP ya se ha ejecutado.

Es una mala practica utilizar código PHP dentro de JS, de igual modo, es mala practica crear una función por cada id... tendrías que crear una sola función que reciba el id como parámetro, de esta manera, con una sola función tendrías suficiente.
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

Externalizar javascript

Publicado por oxboow (2 intervenciones) el 23/01/2019 11:09:48
Ese es el problema... que no se como crear una única función para todos los productos (esa sería la solución para el peso del html). Intentaré googlear a ver si doy con la solución. ¡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