2016-11-09 9 views
0

私はこのHTMLファイルを持っていますが、onclickでは1つの関数を呼び出す必要がありますが、何も実行されず、警告も実行されません。私はこのボタンで何が起こっているのか知りません。ボタンは動作しません "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');" 

で試してみましたが、私はjavascriptの関数を呼び出すしないので、onclickのは、接頭辞を必要としないので...私はこのコードで何が起こったのかわからないと思います。

編集:ソリューションとこの私のCSSです

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

編集:

ます。https:

私はこのように、 "インライン安全ではない" - SRCをデフォルトにを追加していませんでした。 //ssl.gstatic.com 'unsafe-eval' 'unsafe-inline';スタイル - 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」のContent Security Policyディレクティブに違反しているため、インラインイベントハンドラの実行を拒否されました。インライン実行を有効にするには、 'unsafe-inline'キーワード、ハッシュ( 'sha256 -...')、またはnonce( '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 *"> 

私はonClick()を実行できるようにするためにdefault-srcディレクティブに'unsafe-inline'を追加しました。

+0

ありがとうございます。今私はこのメタタイプをよく理解しています。 – Asier

関連する問題