
Esta función tampoco funciona en IE
Publicado por Juan (67 intervenciones) el 08/10/2013 09:18:15
Tengo un form con lo siguiente por ejemplo:
Si os fijais tengo un fichero php para registrar y lo tengo puesto en el action del formulario, pero cuando pulso el botón del formulario lo primero que ejecuta es "funciones.js", esto está bien porque quiero que lo haga así, pero la verdad no se porque lo hace.
Dentro del fichero .js tengo lo siguiente:
Como les digo esto mismo funciona en todos los navegadores menos en IE, yo tengo la versión 8. Solo funciona si me dejo el nombre en blanco, pero si me dejo el apellido ya no hace nada y no se porque.
Espero su ayuda, un saludo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<head>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
<script src='includes/funciones.js'></script>
</head>
<body>
<div class="container">
<div class="header">
<?php include("includes/cabecera.php"); ?>
</div>
<form class="contacto" id="form1" name="form1" method="post" action="includes/registrar.php">
<div><input type="text" name="nombre" id="nombre" placeholder='Nombre' class="nombre" />
<input type="text" name="apellido" id="apellido" placeholder="Apellidos" class="apellido" /></div>
<div><input type="text" name="correo1" id="correo1" placeholder="Escriba su correo electrónico" class="correo1" /></div>
<div><input type="text" name="correo2" id="correo2" placeholder="Vuelva a escribir su correo" class="correo2" /></div>
<div><input type="password" name="password" id="password" placeholder="Contraseña" class="password" /></div>
<div><input type='submit' value='Crear cuenta' class='boton'></div>
</form>
</div>
</body>
Si os fijais tengo un fichero php para registrar y lo tengo puesto en el action del formulario, pero cuando pulso el botón del formulario lo primero que ejecuta es "funciones.js", esto está bien porque quiero que lo haga así, pero la verdad no se porque lo hace.
Dentro del fichero .js tengo lo siguiente:
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
$(function() {
$(".boton").click(function(){
$(".error").fadeOut().remove();
// Compruebo que el nombre no esté vacio
if ($(".nombre").val() == "") {
$(".nombre").focus().after('<span class="error">Ingrese su nombre</span>');
return false;
} else {
// Compruebo que el nombre no tenga caracteres iguales repetidos
var cCadena = $(".nombre").val();
if (CaracteresRepetidos(cCadena)) {
$(".nombre").focus().after('<span class="error">Nombre incorrecto.<br>Demasiados caracteres repetidos</span>');
return false;
}
}
// Compruebo que el apellido no esté vacio
if ($(".apellido").val() == "") {
$(".apellido").focus().after('<span class="error">Ingrese sus apellidos</span>');
return false;
} else {
// Compruebo que el apellido no tenga caracteres iguales repetidos
var cCadena = $(".apellido").val();
if (CaracteresRepetidos(cCadena)) {
$(".apellido").focus().after('<span class="error">Apellidos incorrectos.<br>Demasiados caracteres repetidos</span>');
return false;
}
}
});
$(".nombre, .apellido").bind('blur keyup', function(){
if ($(this).val() != "") {
$('.error').fadeOut();
return false;
}
});
});
function CaracteresRepetidos(cComprobarCad) {
var cAnt = "";
var nCount = 0;
var lRepe = false;
cComprobarCad = cComprobarCad.trim();
for (var nI=0; nI<cComprobarCad.length; nI++) {
if (cAnt == cComprobarCad[nI]) {
nCount++;
if (nCount >= 3) {
lRepe = true;
}
} else {
cAnt = cComprobarCad[nI];
nCount = 1;
}
}
return lRepe;
}
Como les digo esto mismo funciona en todos los navegadores menos en IE, yo tengo la versión 8. Solo funciona si me dejo el nombre en blanco, pero si me dejo el apellido ya no hace nada y no se porque.
Espero su ayuda, un saludo.
Valora esta pregunta


0