2016-11-09 93 views
0

我有這個html文件,它必須調用onclick中的一個函數,但不執行任何操作,也不提醒。我不知道這個按鈕發生了什麼。該按鈕不起作用是「id = botonRegistro」(任何按鈕的工作原理)。HTML5 onclick按鈕不起作用

<!DOCTYPE html> 
<html> 
    <head> 
<!--  <script type="text/javascript" src="js/jquery-2.0.2.js"></script> --> 
<!--  <script type="text/javascript" src="js/jquery.mobile-1.4.5.min.js"></script> --> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
     <script type="text/javascript" src="js/functions_v1.js"></script> 
     <script type="text/javascript" src="js/objects_v1.js"></script> 
     <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 
     <meta name="format-detection" content="telephone=no"> 
     <meta name="msapplication-tap-highlight" content="no"> 
     <meta name="viewport" 
      content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
     <link rel="stylesheet" type="text/css" href="css/index.css"> 
     <title>KirolAPP</title> 
    </head> 
<body> 
    <div data-role="page" id="registerPage"> 
     <div data-role="header" align="center"> 
      <img src="img/kirolLogo.png"> <br> 
     </div> 
     <div data-role="content" align="center" id="registerContent"> 
      <form id="formRegistro"> 
       <br> <input type="text" id="idNombreReg" style="border: 1;" placeholder="Nombre"><br> 
       <input type="text" id="idSec" style="border: 1;" placeholder="1ºApellido"><br> 
       <input type="text" id="idLast" style="border: 1;" placeholder="2ºApellido"><br> 
       <input type="password" id="idClaveReg" style="border: 1; color: orange;" placeholder="Clave"><br> 
       <input type="password" id="idClaveRegRep" style="border: 1; color: orange;" placeholder="Confirmar clave"><br> 
       <input type="email" id="idEmail" style="border: 1;" placeholder="Email"><br> 
       <button type="button" id="botonRegistro" onclick="alert('Registrado!')">Registrarse</button> 
      </form> 
     </div> 
     <div data-role="content" id="back" style="text-align: center; display: none" > 
      <a href="index.html" id="botonBack">Volver</a> 
     </div> 
     <br> 
    </div> 

</body> 
</html> 

我試圖與

onclick="alert('hello');" 

,我認爲的onclick不需要前綴,所以......我不知道這段代碼發生了什麼事,因爲沒有調用JavaScript函數。

編輯:這是我的CSS

body{ 
    background-image: url("../img/fondoIndex.png"); 
    background-size: inherit      
    background-repeat: no-repeat; 
    background-position: center center; 
} 

編輯與解決方案:

我沒有添加 「內聯不安全」 默認-SRC,像這樣:

的https: //ssl.gstatic.com'unsafe-eval' 'unsafe-inline'; style-src'self''unsafe-inline';媒體SRC *「>

+2

你打開控制檯並檢查錯誤嗎? – adeneo

+2

該警報適用於我:https://jsfiddle.net/56uje6bu/也許您在標題中加載的所有JavaScript都會引發錯誤? – David

+0

你的onclick工作正常。你有沒有事件綁定到這個按鈕?控制檯中有任何錯誤? – Kolby

回答

1

我不知道爲什麼,但內容安全策略塊它 當我刪除此元的所有作品:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 
+0

這工作,但我不知道爲什麼。它必須與它一起工作。 – Asier

+0

我在Chrome中遇到的錯誤是拒絕執行內聯事件處理程序,因爲它違反了以下內容安全策略指令:「default-src'self'data:gap:https://ssl.gstatic.com」。 「內聯不安全」關鍵字,散列('sha256 -...')或一個隨機數('nonce -...')是啓用內聯執行所必需的。還要注意'script-src'沒有明確設置,因此'default-src'被用作後備.' – j08691

1

更新的元標記這樣的:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src *"> 

我加'unsafe-inline'default-src指令允許onClick()執行。

+0

謝謝。現在我明白這個meta類型更好了。 – Asier