Foros del Web » Programando para Internet » Javascript »

popup y unterminated string literal

Estas en el tema de popup y unterminated string literal en el foro de Javascript en Foros del Web. hola: tengo que validar un formulario con javascript y si el mismo tiene algun error mostrar un popup. Para validar uso este codigo php dentro ...
  #1 (permalink)  
Antiguo 04/09/2008, 14:59
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
popup y unterminated string literal

hola:
tengo que validar un formulario con javascript y si el mismo tiene algun error mostrar un popup.
Para validar uso este codigo php dentro de la funcion javascript chekform():
Código PHP:
function checkForm() {
          <?php
              
include ('form_functions.php');
            
$mensaje="";
            if(
trim($_REQUEST["first_name"]) == ""){
                
$mensaje.="Please specify your First Name ";
            }
            
            if(
trim($_REQUEST["last_name"]) == ""){
                
$mensaje.="Please specify your Last Name \n";
            }
            
            
$ss trim($_REQUEST["ss1"]).trim($_REQUEST["ss2"]).trim($_REQUEST["ss3"]);
            if (!empty(
$ss) && !(
                
preg_match("/[0-9]{3}/",$_REQUEST["ss1"]) &&
                
preg_match("/[0-9]{2}/",$_REQUEST["ss2"]) &&
                
preg_match("/[0-9]{4}/",$_REQUEST["ss3"])
                ) ) {
                
$mensaje.="Please specify your SS#<br/>";
            }
            
            
            if(
trim($_REQUEST["home_address"]) == ""){
                
$mensaje.="Please specify your Home Address \n";
            }
            if(
trim($_REQUEST["city"]) == ""){
                
$mensaje.="Please specify your City \n";
            }
            if(
trim($_REQUEST["state"]) == ""){
                
$mensaje.="Please specify your State \n";
            }
            if(
trim($_REQUEST["zip"]) == ""){
                
$mensaje.="Please specify your Zip \n";
            }
            if(
trim($_REQUEST["county"]) == ""){
                
$mensaje.="Please specify your County \n";
            }
            
            if (empty(
$_REQUEST["home_as_billing"])) {
            
                if(
trim($_REQUEST["billing_address"]) == ""){
                    
$mensaje.="Please specify your Business Address \n";
                }
                if(
trim($_REQUEST["billing_city"]) == ""){
                    
$mensaje.="Please specify your City (Business) \n";
                }
                if(
trim($_REQUEST["billing_state"]) == ""){
                    
$mensaje.="Please specify your State (Business) \n";
                }
                if(
trim($_REQUEST["billing_zip"]) == ""){
                    
$mensaje.="Please specify your Zip (Business) \n";
                }
                if(
trim($_REQUEST["billing_county"]) == ""){
                    
$mensaje.="Please specify your County (Business) \n";
                }
            
            }
            
            if (! (
                
preg_match("/[0-9]{3}/",$_REQUEST["day_phone1"]) &&
                
preg_match("/[0-9]{3}/",$_REQUEST["day_phone2"]) &&
                
preg_match("/[0-9]{4}/",$_REQUEST["day_phone3"]) 
            
                ) ) {
                
$mensaje.="Please specify your Telephone Number (day) \n";
            }
            
            if ( !empty(
$_REQUEST["eve_phone1"]) || !empty($_REQUEST["eve_phone2"]) || !empty($_REQUEST["eve_phone3"]) || !empty($_REQUEST["eve_phone4"]) ) {
                if (! (
                
preg_match("/[0-9]{3}/",$_REQUEST["eve_phone1"]) &&
                
preg_match("/[0-9]{3}/",$_REQUEST["eve_phone2"]) &&
                
preg_match("/[0-9]{4}/",$_REQUEST["eve_phone3"])

                ) ) {
                    
$mensaje.="Please specify your Telephone Number (eve) \n";
                }
            }

            if ( !empty(
$_REQUEST["fax1"]) || !empty($_REQUEST["fax2"]) || !empty($_REQUEST["fax3"]) || !empty($_REQUEST["fax4"]) ) {
                if (! (
                
preg_match("/[0-9]{3}/",$_REQUEST["fax1"]) &&
                
preg_match("/[0-9]{3}/",$_REQUEST["fax2"]) &&
                
preg_match("/[0-9]{4}/",$_REQUEST["fax3"])

                ) ) {
                    
$mensaje.="Please specify your Fax \n";
                }
            }
            
            
            if ( 
trim($_REQUEST["email"])=="" || (!ereg("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$"$_REQUEST["email"] ) )) {
                
$mensaje.="Please specify your Email Address \n";
            }
            
            if ((!empty(
$_REQUEST["birth_month"]) || !empty($_REQUEST["birth_day"]) || !empty($_REQUEST["birth_year"])) && !checkLuckyDate($_REQUEST["birth_year"],$_REQUEST["birth_month"],$_REQUEST["birth_day"])) {
                
$mensaje.="Please specify correct Date of Birth \n";
            }
            
            if ((!empty(
$_REQUEST["month_started"]) || !empty($_REQUEST["day_started"]) || !empty($_REQUEST["year_started"])) && !checkAnyLuckyDate($_REQUEST["year_started"],$_REQUEST["month_started"],$_REQUEST["day_started"])) {
                
$mensaje.="Please specify correct Date Business Started \n";
            }
            
            if ((!empty(
$_REQUEST["month_coverage_from"]) || !empty($_REQUEST["day_coverage_from"]) || !empty($_REQUEST["year_coverage_from"])) && !checkAnyLuckyDate($_REQUEST["year_coverage_from"],$_REQUEST["month_coverage_from"],$_REQUEST["day_coverage_from"])) {
                
$mensaje.="Please specify correct Date of Coverage (from) \n";
            }
            if ((!empty(
$_REQUEST["month_coverage_to"]) || !empty($_REQUEST["day_coverage_to"]) || !empty($_REQUEST["year_coverage_to"])) && !checkAnyLuckyDate($_REQUEST["year_coverage_to"],$_REQUEST["month_coverage_to"],$_REQUEST["day_coverage_to"])) {
                
$mensaje.="Please specify correct Date of Coverage (to) \n";
            }
            
            if (empty(
$_REQUEST["type_of_coverage"])) {
                
$mensaje.="Please specify Type of Coverage \n";
            }
            
            if (
$_REQUEST["depends"]=='Yes') {
                for(
$i=0;$i<4;$i++) {
                    if ( !empty(
$_REQUEST["cd_name"][$i]) || !empty($_REQUEST["cd_dob"][$i]) || !empty($_REQUEST["cd_ss"][$i]) || !empty($_REQUEST["cd_phisician"][$i]) ) {
                        
$_DATA["depends_arr"][] = array(
                            
"cd_name"        => $_REQUEST["cd_name"][$i],
                            
"cd_dob"        => $_REQUEST["cd_dob"][$i],
                            
"cd_ss"            => $_REQUEST["cd_ss"][$i],
                            
"cd_phisician"    => $_REQUEST["cd_phisician"][$i]
                        );
                    }
                }
                if (empty(
$_DATA["depends_arr"])) {
                    
$mensaje.="Please specify your Dependants \n";
                }
            }
            
            if (empty(
$_REQUEST["i_agree"])) {
                
$mensaje.="Please specify that you have read the LEGAL NOTICE & DISCLAMER \n";
            
            }
            
            if(
$mensaje!=""){?>
                
                show_popup(this,'Error!','<?= $mensaje?>',310,270);
                
                <?
                
            
}
            
          
?>      
        }
el tema es que cuando se ejecuta me tira un error de unterminated string literal en el popup, como puedo solucionarlo?

desde ya muchas gracias
  #2 (permalink)  
Antiguo 04/09/2008, 15:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: popup y unterminated string literal

Ese código PHP NO se va a ejecutar dentro de la función checkForm, se va a ejecutar al procesar el servidor la petición y enviará el código resultante.

¿Cuál es el código resultante después de procesado el PHP?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 04/09/2008, 15:23
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: popup y unterminated string literal

si esta todo ok, debria mandarme a un archivo llamado process.php donde se guardan todos los datos en la base de datos del sistema si a eso te referis con el codigo resultante
  #4 (permalink)  
Antiguo 04/09/2008, 17:37
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: popup y unterminated string literal

Creo que David te está alertando de que tienes graves problemas de concepto con el significado de lenguaje de servidor y de cliente. PHP se ejecuta antes, y lo que "salga" de esa ejecución (el resultado de procesar el PHP) se envía al navegador para interpretarlo.

Con "código resultante" te decimos que vayas a tu navegador, ejecutes el documento (esto es, proceses el PHP) y le des a ver el código fuente, para ver qué se ha generado. Eso es lo que el navegador interpretará como HTML o javascript o lo que sea.


Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 05/09/2008, 09:24
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: popup y unterminated string literal

ahhhh perdon jejeje muchas hora frente a la compu tratando de solucionar este sitio de porqueria ajjaja

lo que me tira de "codigo resultante" es:
Código HTML:
<script type="text/JavaScript">
	    function checkForm() {
	      				
				show_popup(this,'&nbsp;','Error!','Please specify your First Name Please specify your Last Name 
Please specify your Home Address 
Please specify your City 
Please specify your State 
Please specify your Zip 
Please specify your County 
Please specify your Business Address 
Please specify your City (Business) 
Please specify your State (Business) 
Please specify your Zip (Business) 
Please specify your County (Business) 
Please specify your Telephone Number (day) 
Please specify your Email Address 
Please specify Type of Coverage 
Please specify that you have read the LEGAL NOTICE & DISCLAMER 
',310,270);								  	
	    }
    </script> 
salu2
  #6 (permalink)  
Antiguo 05/09/2008, 09:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: popup y unterminated string literal

Pues es exactamente lo que te decíamos, el PHP ya es procesado por lo que devuelve "código" Javascript no válido.

Lo que puedes hacer es hacer la validación del formulario con Javascript, o en todo caso enviar el formulario a un archivo PHP o a la misma página para que PHP valide.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 08/09/2008, 09:14
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: popup y unterminated string literal

estoy intentandolo validar mediante javascript de la siguiente manera:
Código HTML:
<script type="text/JavaScript">
function checkForm(form) {
             var f = $('qform');
var mensaje='';
if (f.first_name.value==''){
mensaje+='falta el nombre';
}

if (f.last_name.value==''){
mensaje+='falta el apellido';
}
.....
</script> 
el tema es que nose como pasar de php a javascript estas partes:
Código PHP:
$ss trim($_REQUEST["ss1"]).trim($_REQUEST["ss2"]).trim($_REQUEST["ss3"]);
            if (!empty(
$ss) && !(
                
preg_match("/[0-9]{3}/",$_REQUEST["ss1"]) &&
                
preg_match("/[0-9]{2}/",$_REQUEST["ss2"]) &&
                
preg_match("/[0-9]{4}/",$_REQUEST["ss3"])
                ) ) {
                
$mensaje.="Please specify your SS#<br/>";
            } 
Código PHP:
if (! (
                
preg_match("/[0-9]{3}/",$_REQUEST["day_phone1"]) &&
                
preg_match("/[0-9]{3}/",$_REQUEST["day_phone2"]) &&
                
preg_match("/[0-9]{4}/",$_REQUEST["day_phone3"]) 
            
                ) ) {
                
$mensaje.="Please specify your Telephone Number (day) \n";
            }
            
            if ( !empty(
$_REQUEST["eve_phone1"]) || !empty($_REQUEST["eve_phone2"]) || !empty($_REQUEST["eve_phone3"]) || !empty($_REQUEST["eve_phone4"]) ) {
                if (! (
                
preg_match("/[0-9]{3}/",$_REQUEST["eve_phone1"]) &&
                
preg_match("/[0-9]{3}/",$_REQUEST["eve_phone2"]) &&
                
preg_match("/[0-9]{4}/",$_REQUEST["eve_phone3"])

                ) ) {
                    
$mensaje.="Please specify your Telephone Number (eve) \n";
                }
            }

            if ( !empty(
$_REQUEST["fax1"]) || !empty($_REQUEST["fax2"]) || !empty($_REQUEST["fax3"]) || !empty($_REQUEST["fax4"]) ) {
                if (! (
                
preg_match("/[0-9]{3}/",$_REQUEST["fax1"]) &&
                
preg_match("/[0-9]{3}/",$_REQUEST["fax2"]) &&
                
preg_match("/[0-9]{4}/",$_REQUEST["fax3"])

                ) ) {
                    
$mensaje.="Please specify your Fax \n";
                }
            } 

if (
$_REQUEST["depends"]=='Yes') {
                for(
$i=0;$i<4;$i++) {
                    if ( !empty(
$_REQUEST["cd_name"][$i]) || !empty($_REQUEST["cd_dob"][$i]) || !empty($_REQUEST["cd_ss"][$i]) || !empty($_REQUEST["cd_phisician"][$i]) ) {
                        
$_DATA["depends_arr"][] = array(
                            
"cd_name"        => $_REQUEST["cd_name"][$i],
                            
"cd_dob"        => $_REQUEST["cd_dob"][$i],
                            
"cd_ss"            => $_REQUEST["cd_ss"][$i],
                            
"cd_phisician"    => $_REQUEST["cd_phisician"][$i]
                        );
                    }
                }
                if (empty(
$_DATA["depends_arr"])) {
                    
$mensaje.="Please specify your Dependants \n";
                }
            } 
espero que me puedan dar una mano desde ya muchas gracias
  #8 (permalink)  
Antiguo 08/09/2008, 09:19
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: popup y unterminated string literal

Habría que ver cuáles son tus campos, y si es posible que nos expliques un poco qué es exactamente lo que necesitas validar en ellos.

Las expresiones regulares las puedes usar directamente en Javascript: expresion_regular.test.
El trim como tal no existe pero puedes crearla.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 08/09/2008, 09:30
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: popup y unterminated string literal

lo que necesito validar es que los campos no esten vacios el nombre de los campos son los mismos que estan dentro de $_request[] y si por tambien validar si son nº de telefonos correctos, validar el email, y en el caso de esto:
Código PHP:
if ($_REQUEST["depends"]=='Yes') {
                for(
$i=0;$i<4;$i++) {
                    if ( !empty(
$_REQUEST["cd_name"][$i]) || !empty($_REQUEST["cd_dob"][$i]) || !empty($_REQUEST["cd_ss"][$i]) || !empty($_REQUEST["cd_phisician"][$i]) ) {
                        
$_DATA["depends_arr"][] = array(
                            
"cd_name"        => $_REQUEST["cd_name"][$i],
                            
"cd_dob"        => $_REQUEST["cd_dob"][$i],
                            
"cd_ss"            => $_REQUEST["cd_ss"][$i],
                            
"cd_phisician"    => $_REQUEST["cd_phisician"][$i]
                        );
                    }
                }
                if (empty(
$_DATA["depends_arr"])) {
                    
$mensaje.="Please specify your Dependants \n";
                }
            } 
lo que intenta hacer es que si en el formulario ponene que tiene hijos agregue sus datos personales.

La idea es que si no hay errores mande todos los datos al archivo process.php y si hay error que muestre un alert indicando los errores
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




La zona horaria es GMT -6. Ahora son las 14:29.