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

No detecta llamada a javascript

Estas en el tema de No detecta llamada a javascript en el foro de Frameworks JS en Foros del Web. Buenas tardes, Tengo una función en javascript, encargada de mostrar un campo donde introducir el e-mail de usuario. Esta casilla en principio no es visible ...
  #1 (permalink)  
Antiguo 24/01/2010, 14:05
 
Fecha de Ingreso: septiembre-2008
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 16 años, 3 meses
Puntos: 0
No detecta llamada a javascript

Buenas tardes,

Tengo una función en javascript, encargada de mostrar un campo donde introducir el e-mail de usuario. Esta casilla en principio no es visible y tras clickar en un enlace, se muestra gracias al javascript. La cuestión es que hace caso omiso y no sé el por qué.

Código:
    
{literal}
<script type="text/javascript">
	function displayMail() {
		$('#submit .input_mail').html('{/literal}{$lang53} : {if $smarty.session.USERID ne ""}<input type="text" name="email" value="{$smarty.session.EMAIL}" />{else}<input type="text" name="email">{/if}{literal}');
	}
</script>
{/literal}
<div class="input_mail"><a href="javascript:displayMail();">{$lang54}</a></div>
¿Alguien sabe qué problema hay?

Muchísimas gracias por vuestra ayuda!
  #2 (permalink)  
Antiguo 24/01/2010, 14:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: No detecta llamada a javascript

Espera que un moderador te mueva al foro de javascript, ya que el problema no es de PHP.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/01/2010, 18:13
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 21 años, 2 meses
Puntos: 41
Tema movido desde PHP a Javascript
  #4 (permalink)  
Antiguo 25/01/2010, 02:47
 
Fecha de Ingreso: septiembre-2008
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No detecta llamada a javascript

Oups, lo siento! Sí, es javascript pero como lo tengo puesto dentro de php y también tiene parte de éste...

Aún así, alguien sabría decirme por qué no está funcionando?

Gracias!
  #5 (permalink)  
Antiguo 25/01/2010, 02:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Hola:

Evidentemente estás usando una librería, ya que $() no es una función estándar javascript... así que vamos a "marear" un poco este tema moviéndolo al foro adecuado.
Es bueno que indiques que usas librerías...

Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 25/01/2010 a las 03:00 Razón: Añadiendo cosillas...
  #6 (permalink)  
Antiguo 25/01/2010, 04:12
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: No detecta llamada a javascript

publicá el código html del formulario
  #7 (permalink)  
Antiguo 25/01/2010, 06:07
 
Fecha de Ingreso: septiembre-2008
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No detecta llamada a javascript

Hola Dany_s, gracias por tu interés. Pego el código a continuación.

Código:
    {literal}
	<script type="text/javascript">
		function displayMail() {
			$('#submit .input_mail').html('{/literal}{$lang53} : {if $smarty.session.USERID ne ""}<input type="text" name="email" value="{$smarty.session.EMAIL}" />{else}<input type="text" name="email">{/if}{literal}');
		}
		function cut(input) {
			if (input.value.length >= {/literal}{$climit}{literal}) {
				input.value = input.value.substring(0,{/literal}{$climit}{literal});
			}
			var reste = {/literal}{$climit}{literal} - input.value.length;
			var print =  reste;
			$(".ok #compteur").html(input.value.length+'/{/literal}{$climit}{literal} {/literal}{$lang55}{literal}');
		}
		$(document).ready(function() {
			$("#submitsh").submit(function() {
				$(this).ajaxSubmit({
							beforeSubmit: function(before) {
							$('#loadingsubmitsh').css('display','block');
							$("#resultsubmitsh").html('');
							$("#resultsubmitsh").css('display','none');
							},
							success: function(retour) {
								$('#loadingsubmitsh').css('display','none');
									if(retour == 'error2') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">{/literal}{$lang33}{literal}</p>');
									} else if(retour == 'error3') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">{/literal}{$lang31}{literal}</p>');
									}else if(retour == 'error4') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">{/literal}{$lang57}{literal}</p>');
									}else if(retour == 'error5') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">{/literal}{$lang60}{literal}</p>');
									}else if(retour == 'error6') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">{/literal}{$lang191}{literal}</p>');
									}else if(retour == 'error7') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">{/literal}{$lang205}{literal}</p>');
									}else {
										$('#resultsubmitsh').html('<p class=\"good\">{/literal}{$lang58}{literal}<br><a href="javascript:submitToggle();">{/literal}{$lang59}{literal}</a></p>');
										setTimeout("$('#submitsh #update').val('');",5000);
									}	
							$('#resultsubmitsh').hide();
							$('#resultsubmitsh').fadeIn(500);
							setTimeout("$('#resultsubmitsh').fadeOut();",5000);							
							}
					}); 
				return false;
			});		
		});
	</script>
    {/literal}
	<div id="submit" class="post">
        <h2>{$lang7}</h2><br/>
        <ul style="list-style-type: none; margin-bottom: 10px;">
        	<li>- <b>{$lang8} </b>: {$lang9}</li>
            <li style="margin-top:5px;">- {$lang10}</li>
        </ul>
        <form method="post" id="submitsh" class="submitsh" action="{$baseurl}/submit.php">
        <fieldset>
            <div class="input_auteur">
            	{$lang50} : {if $smarty.session.USERID ne ""}{$smarty.session.USERNAME|stripslashes}<input type="hidden" name="uname" value="{$smarty.session.USERNAME|stripslashes}" /><input type="hidden" name="uid" value="{$smarty.session.USERID}" />{else}<input type="text" name="uname" value="">{/if}
            </div>			
            <div class="input_cat">
            	{$lang11} : 
                <select name="cat">
                <option value="">{$lang52}</option>
                {insert name=get_categories assign=cat}
                {section name=i loop=$cat}
                <option value="{$cat[i].CATID}">{$cat[i].name|stripslashes}</option>
                {/section}
            	</select>
            </div>
            <div class="input_sexe">
            	{$lang25}? : 
                <select name="gender">
                <option value="">{$lang52}</option>
                <option value="1" {if $smarty.session.GENDER eq "1"}selected="selected"{/if}>{$lang26}</option>
                <option value="0" {if $smarty.session.GENDER eq "0"}selected="selected"{/if}>{$lang27}</option>
            	</select>
            </div>
            <textarea id="update" name="content" rows="6" onkeyup="cut(this);"></textarea>
            <div id="loadingsubmitsh"><img id="loading" src="{$imageurl}/loader.gif"></div>
            <div id="resultsubmitsh" class="result"></div>			
            <div class="input_mail"><a href="javascript:displayMail();">{$lang54}</a></div>
            <div class="ok">
            	<table><tr><td><img src="{$baseurl}/include/captcha.php" style="border: 0px; margin:0px; padding:0px" /></td><td><input type="text" name="captcha" value=""></td><td><div id="compteur"></div> <input type="submit" name="ok" value="{$lang51}"/></td></tr></table>
            </div>
        </fieldset>
        <input type="hidden" name="substory" value="1" />
        </form>
	</div>
Muchísimas gracias de nuevo!
  #8 (permalink)  
Antiguo 25/01/2010, 06:30
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: No detecta llamada a javascript

la función está bien, capaz te da error en otra linea de javascript cuando generas resultado con smarty porque dejando solo la funcion displayMail funciona bien

tenes que publicar el código html sino se complica la lectura, ejecuta eso en el navegador y publicá el código html que se genera

fijate en la consola de javascript que error te da
  #9 (permalink)  
Antiguo 25/01/2010, 06:42
 
Fecha de Ingreso: septiembre-2008
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No detecta llamada a javascript

Hola Dany_s, gracias de nuevo! A continuación copio el código parcial, del HTML de la página. La parte que afecta y que no está funcionando como es debido.

Código:
	<script type="text/javascript">
		function displayMail() {
			$('#submit .input_mail').html('E-mail : <input type="text" name="email">');
		}
		function cut(input) {
			if (input.value.length >= 3000) {
				input.value = input.value.substring(0,3000);
			}
			var reste = 3000 - input.value.length;
			var print =  reste;
			$(".ok #compteur").html(input.value.length+'/3000 caractères');
		}
		$(document).ready(function() {
			$("#submitsh").submit(function() {
				$(this).ajaxSubmit({
							beforeSubmit: function(before) {
							$('#loadingsubmitsh').css('display','block');
							$("#resultsubmitsh").html('');
							$("#resultsubmitsh").css('display','none');
							},
							success: function(retour) {
								$('#loadingsubmitsh').css('display','none');
									if(retour == 'error2') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">Etes-vous un homme ou une femme? Nous sommes sûrs que cette information intéressera vos lecteurs!</p>');
									} else if(retour == 'error3') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">Oups! Votre adresse e-mail n'est pas valide</p>');
									}else if(retour == 'error4') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">Dans quelle catégorie pourrait être classée votre histoire?</p>');
									}else if(retour == 'error5') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">Oups! Votre histoire est trop courte! Etes-vous sûr de parvenir à exciter les gens avec si peu?</p>');
									}else if(retour == 'error6') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">Oups! Le code image n'est pas bon, essayez de nouveau.</p>');
									}else if(retour == 'error7') {
										$('#resultsubmitsh').html('<p class=\"pasgood\">Attention, votre histoire contient trop de mots bannis</p>');
									}else {
										$('#resultsubmitsh').html('<p class=\"good\">Merci d'avoir partagé votre histoire avec nous... Revenez vite pour voir si elle a été publiée!<br><a href="javascript:submitToggle();">Fermer</a></p>');
										setTimeout("$('#submitsh #update').val('');",5000);
									}	
							$('#resultsubmitsh').hide();
							$('#resultsubmitsh').fadeIn(500);
							setTimeout("$('#resultsubmitsh').fadeOut();",5000);							
							}
					}); 
				return false;
			});		
		});
	</script>
    
	<div id="submit" class="post">
        <h2>Racontez votre histoire coquine</h2><br/>
        <ul style="list-style-type: none; margin-bottom: 10px;">
        	<li>- <b>Concept </b>: Partagez vos expériences les plus chaudes, vos fantasmes ou votre dernière nuit torride, sans aucun tabou! Ne soyez pas timides, lâchez-vous!</li>

            <li style="margin-top:5px;">- Recommandations: <ul><li>Raccourcissez l'histoire au maximum: au plus elle sera courte, au plus elle sera lue.</li><li>
N'oubliez pas que le langage le plus cru n'est pas forcément le plus excitant...</li>
<li>Evitez le langage SMS et les fautes d'ortographe!</li></ul></li>
        </ul>
        <form method="post" id="submitsh" class="submitsh" action="http://www.cam.fr/submit.php"><input type="hidden" name="PHPSESSID" value="93c033966c1d565838cbe7658f5235cf" />
        <fieldset>
            <div class="input_auteur">
            	Votre pseudo : <input type="text" name="uname" value="">            </div>			
            <div class="input_cat">

            	Catégories : 
                <select name="cat">
                <option value="">Choisissez</option>
                
                                <option value="13">Divers</option>
                                <option value="8">Fantasmes</option>
                                <option value="14">Foirages</option>
                                <option value="12">Plaisirs Solitaires</option>

                                <option value="10">Plan à trois (ou plus)</option>
                                <option value="9">Première fois</option>
                                <option value="11">Public</option>
                                <option value="15">Trash</option>
                            	</select>
            </div>
            <div class="input_sexe">

            	Sexe? : 
                <select name="gender">
                <option value="">Choisissez</option>
                <option value="1" >Homme</option>
                <option value="0" >Femme</option>
            	</select>
            </div>
            <textarea id="update" name="content" rows="6" onkeyup="cut(this);"></textarea>

            <div id="loadingsubmitsh"><img id="loading" src="http://www.cam.fr/images/loader.gif"></div>
            <div id="resultsubmitsh" class="result"></div>			
            <div class="input_mail"><a href="javascript:displayMail();">Prévenir lorsque l'histoire est publiée?</a></div>
            <div class="ok">
            	<table><tr><td><img src="http://www.cam.fr/include/captcha.php" style="border: 0px; margin:0px; padding:0px" /></td><td><input type="text" name="captcha" value=""></td><td><div id="compteur"></div> <input type="submit" name="ok" value="Soumettre!"/></td></tr></table>
            </div>
        </fieldset>
        <input type="hidden" name="substory" value="1" />

        </form>
	</div>
  #10 (permalink)  
Antiguo 25/01/2010, 08:15
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: No detecta llamada a javascript

tenes que escapar las comillas simples que estan en el texto que traes con smarty:

$('#resultsubmitsh').html('<p class=\"pasgood\">Oups! Votre adresse e-mail n'est pas valide</p>');

$('#resultsubmitsh').html('<p class=\"pasgood\">Oups! Le code image n'est pas bon, essayez de nouveau.</p>');

$('#resultsubmitsh').html('<p class=\"good\">Merci d'avoir partagé votre histoire avec nous... Revenez vite pour voir si elle a été publiée!<br><a href="javascript:submitToggle();">Fermer</a></p>');


eso arreglá con php, no sé, usa addslashes de php donde recuperás el texto asi te queda "n\'est" y creo que va a funcionar
  #11 (permalink)  
Antiguo 25/01/2010, 08:23
 
Fecha de Ingreso: septiembre-2008
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No detecta llamada a javascript

Dany_s, un millón de gracias. Cuando llegue a casa lo pruebo, tiene mucha lógica lo que dices.

Un saludo y gracias de nuevo!
  #12 (permalink)  
Antiguo 26/01/2010, 03:08
 
Fecha de Ingreso: septiembre-2008
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: No detecta llamada a javascript

Efectivamente, era por las comillas simples. Las he puesto como bien decías añadiendo "\" y funciona a la perfección.

Muchísimas gracias!!

Etiquetas: detecta, javascript, llamada
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 13:16.