按钮不使用onClick重定向 - Javascript HTML

时间:2015-03-18 06:52:07

标签: javascript html button onclick

我在一个简单的网页上工作,我使用一个按钮进入主页,但没有任何反应,只有在我不使用该功能时才能工作,请参阅:

这不起作用:

按钮:

<center><input type="button" name="Entrar" onClick="iniciar()" value=" Ingresar " >

函数“iniciar()”:

    <script type="text/javascript" language="javascript">

function iniciar(){
var value
var clase,nombre,validate="ATS1"
    nombre=window.prompt("Digite su primer nombre");
    clase=prompt("Digite su codigo de seccion de clase (letras en mayuscula)");

    if (clase==validate){
        value = 3;
    }
    else{
        value = 0;
    }

if (value == 3){
    window.alert("Ingreso exitoso, presione Aceptar.")
    var pag="formulario.html"   

    alert("Aceptado \nPulse Aceptar y sera redireccionado en 2 segundos.", setTimeout("location.href=pag",2000))    
     //Dos segundos para redireccionar
}
else{
    alert("Lo sentimos mucho, usted no tiene acceso a la pagina. Usted pertenece a otro curso, adios.")
    close()}
}

</script>

但是,如果我不使用该按钮,我在这个工作的页面中直接使用java脚本(没有函数)(重定向)

<script type="text/javascript" language="javascript">

var value
var clase,nombre,validate="ATS1"
    nombre=window.prompt("Digite su primer nombre");
    clase=prompt("Digite su codigo de seccion de clase (letras en mayuscula)");

    if (clase==validate){
        value = 3;
    }
    else{
        value = 0;
    }

if (value == 3){
    window.alert("Ingreso exitoso, presione Aceptar.")
    var pag="formulario.html"   

    alert("Aceptado \nPulse Aceptar y sera redireccionado en 2 segundos.", setTimeout("location.href=pag",2000))    
     //Dos segundos para redireccionar
}
else{
    alert("Lo sentimos mucho, usted no tiene acceso a la pagina. Usted pertenece a otro curso, adios.")
    close()}


</script>

我希望他们能理解我:/ 感谢

=============================================== ==================

查看所有代码(我使用@Moogs发送给我的工作语法:D):

<!doctype html>
<html>
<head>

<title>Formulario</title>
<script type="text/javascript" language="javascript">
function cerrar(){
    close()
}

function iniciar(){
var value
var clase,nombre,validate="ATS1"
    nombre=window.prompt("Digite su primer nombre");
    clase=prompt("Digite su codigo de seccion de clase (letras en mayuscula)");

    if (clase==validate){
        value = 3;
    }
    else{
        value = 0;
    }

if (value == 3){
    window.alert("Ingreso exitoso, presione Aceptar.")
    var pag="formulario.html"   

    alert("Aceptado \nPulse Aceptar y sera redireccionado en 2 segundos.");
    setTimeout(function() {
             window.location.href = pag;
        }, 2000)    
     //Dos segundos para redireccionar
}
else{
    alert("Lo sentimos mucho, usted no tiene acceso a la pagina. Usted pertenece a otro curso, adios.")
    close()}
}
document.querySelector('[type="button"]').onclick = iniciar;
</script>
</head>

<body>

<center><font face="Lucida handwriting"><h1><b><i>Formulario</i></b></h1></font></center><hr>
<br>
<center><input type="button" name="Entrar" onClick="iniciar()" value=" Ingresar ">
<input type="button" name="Salir" onClick="cerrar()" value=" Salir ">
</center>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

使用setTimeout回调的函数而不是eval字符串,并在警报后放置超时而不是作为警报参数。

function iniciar() {
    var value = 0;
    var clase;
    var nombre;
    var validate = "ATS1";
    
    nombre = prompt("Digite su primer nombre");
    clase = prompt("Digite su codigo de seccion de clase (letras en mayuscula)");

    if (clase === validate) {
        value = 3;
    }

    if (value == 3) {
        alert("Ingreso exitoso, presione Aceptar.");
        
        var pag = "formulario.html"

        alert("Aceptado \nPulse Aceptar y sera redireccionado en 2 segundos.");
        setTimeout(function() {
             alert('redirect');
             window.location.href = pag;
        }, 2000)
    } else {
        alert("Lo sentimos mucho, usted no tiene acceso a la pagina. Usted pertenece a otro curso, adios.");
        close();
    }
}

document.querySelector('[type="button"]').onclick = iniciar;
<input type="button" name="Entrar" value=" Ingresar " >

答案 1 :(得分:0)

在这里,我使用你的代码,它正常工作:

检查:

<html>
<head>
</head>
<body>
<style>
</style>
<script type="text/javascript" language="javascript">

function iniciar(){
alert("hello");
var value
var clase,nombre,validate="ATS1"
    nombre=window.prompt("Digite su primer nombre");
    clase=prompt("Digite su codigo de seccion de clase (letras en mayuscula)");

    if (clase==validate){
        value = 3;
    }
    else{
        value = 0;
    }

if (value == 3){
    window.alert("Ingreso exitoso, presione Aceptar.")
    var pag="formulario.html"   

    alert("Aceptado \nPulse Aceptar y sera redireccionado en 2 segundos.", setTimeout("location.href=pag",2000))    
     //Dos segundos para redireccionar
}
else{
    alert("Lo sentimos mucho, usted no tiene acceso a la pagina. Usted pertenece a otro curso, adios.")
    close()}
}

</script>
 <center><input type="button" name="Entrar" onClick="iniciar()" value=" Ingresar " >
</body>
</html>

点击此处Fiddle