JavaScript - no encuentra la funcion

   
Vista:

no encuentra la funcion

Publicado por zendi (77 intervenciones) el 12/05/2014 23:39:54
buenas a todos tengo este codigo y le he buscado todas las soluciones posibles y no doy pie con bolas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
var patron = new Array(2,2,4)
var patron2 = new Array(1,3,3,3,3)
function mascara(d,sep,pat,nums)
{
if(d.valant != d.value)
{
	val = d.value
	largo = val.length
	val = val.split(sep)
	val2 = ''
	for(r=0;r<val.length;r++)
	{
		val2 += val[r]
	}
	if(nums)
	{
		for(z=0;z<val2.length;z++)
		{
		  if(isNaN(val2.charAt(z)))
		   {
			letra = new RegExp(val2.charAt(z),"g")
			val2 = val2.replace(letra,"")
		   }
		}
	}
	val = ''
	val3 = new Array()
	for(s=0; s<pat.length; s++)
	{
		val3[s] = val2.substring(0,pat[s])
		val2 = val2.substr(pat[s])
	}
	for(q=0;q<val3.length; q++)
	{
		if(q ==0){
			val = val3[q]
		}
		else
		{
			if(val3[q] != "")
			{
				val += sep + val3[q]
			}
		}
	}
	d.value = val
	d.valant = val
}
 function myFunction()
 {
 var r=confirm("En realidad desea Pagar la Deuda?");
 if (r==true)
    {
    x="You pressed OK!";
	}
	else
	{
	x="You pressed Cancel!";
	}
}
}

cada vez que presiono el siguiente boton no llama la funcion:

1
echo"<input type='submit' class='color1' name='action' value='Procesar pago' align='right' onClick='myFunction()'>";


Nota: la funcion esta en negrita. Estaria sumamente agradecido si me ayudan ya que he buscado las mil maneras de ver cual es el problema y no lo hallo.
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

no encuentra la funcion

Publicado por Jero (2 intervenciones) el 12/05/2014 23:58:34
Hola.

Dentro de lo poco que conozco este lenguaje, creo que el problema es que le das el valor a "x" pero al final la funcion no retorna nada.

Imagino que te faltará algo parecido a esto:

1
return x;


Por otro lado ahora te pregunto yo, jejejejejeje. He visto que tienes una RegExp:

1
letra = new RegExp(val2.charAt(z),"g")


En un post anterior he preguntado que hace exactamente esa expresion regular, por lo que puedo deducir que el primer valor "val2.charAt(z)" es el texto a buscar en la patern, pero el segundo es lo que me tiene loco, ¿tu sabes que hace ese valor?.

Un saludo
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

no encuentra la funcion

Publicado por xve (1595 intervenciones) el 13/05/2014 09:05:02
Hola Zendi, la función myFunction() no existe, ya que la tienes puesta dentro de otra función, por lo que no la encuentra, únicamente es posible llamarla desde dentro de la función mascara()
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

no encuentra la funcion

Publicado por zendi (77 intervenciones) el 13/05/2014 22:40:44
en realidad era eso, gracias Xve. Pero pudieras ayudarme ahora con esta misma funcion?
el problema es que cuando en la funcion presiono el boton Cancelar no cancela el proceso, en este caso que no debe permitir la rebaja de la deuda en la base de datos, lo he probado de muchas maneras pero aun asi resta el monto en la tabla. Y disculpa la insistencia.
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

no encuentra la funcion

Publicado por xve (1595 intervenciones) el 14/05/2014 08:38:50
Hola Zendi, para ello, la manera de hacerlo es devolviendo true o false... algo así:
1
2
3
4
5
6
7
8
9
10
11
12
function myFunction()
{
    var r=confirm("En realidad desea Pagar la Deuda?");
    if (r==true)
    {
        x="You pressed OK!";
        return true;
    }else{
        x="You pressed Cancel!";
        return false;
    }
}

Y en la llamada a la función tienes que devolver el resultado...
1
echo"<input type='submit' class='color1' name='action' value='Procesar pago' align='right' onClick='return myFunction()'>";

No lo he probado... 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

no encuentra la funcion

Publicado por zendi (77 intervenciones) el 14/05/2014 15:17:09
Hola Xve, te comento que ahora si lo hace. La verdad es que no habia probado el return en el onClick y no lo sabia tampoco.
Bueno sinceramente te agradezco la ayuda.
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