0

更新:

良いフィードバックをありがとう。コードに複数の障害がありましたが、

私の問題は、実際には、jquery/javascript 関数内のコード内の文字列にありました (これは、問題があるとは思わなかったので、ここには投稿しませんでした)。

不良ストリング:

var deleteAnswer = prompt("Are you sure you want to delete this project?\nName: "+<?=$project['projName']?>+"\nCompany: "+<?=$project['compName']?>);

正しい文字列:

var deleteAnswer = prompt("Are you sure you want to delete this project?\nName: <?=$project['projName']?>\nCompany: <?=$project['compName']?>");

document.readyまた、代わりにのみを使用するように切り替えますwindow.load

Firefox を使用していますが、F12 コンソールでエラーのチェックを開始します -> エラー

JSHint も良いヒントでした。コードを確認できるからです。

フィードバックをお寄せいただきありがとうございます。=)


私は現在、自分のページで javascript と jquery を使用しており、今までうまく機能しています。

何らかの理由で、<script>タグ内のコードが起動しなくなりました。多分私は何か重要なものを見逃しています。

コードの一部を削除しましたが、これで十分な情報であることを願っています。ソース コードをチェックして、正しい js ファイルを指しているかどうかを確認しました。

また、このコードを直前に追加して<title>も機能します。

<script type="text/javascript">
$(document).ready(function(){ 

$("div").css("border", "3px solid red");

});
</script>

とにかく、ここに私のコードの一部があります:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<!--<script src="jquery-1.10.2.min.js"></script>-->
<script src="jquery/jquery-1.9.1.js"></script>
<script src="jquery/ui/jquery.ui.core.js"></script>
<script src="jquery/ui/jquery.ui.datepicker.js"></script>
<link rel="stylesheet" type="text/css" href="jquery/themes/base/jquery-ui.css">

<link rel="stylesheet" type="text/css" href="style.css">

<title>title goes here</title>

</head>

<body>
<script>
    <!-- ########## WINDOW.load ############### -->
    $(window).load(function(){
        $('#topBarWrapper').hover(function() {
            $('#topBarDropDown').stop();
            $('#topBarDropDown').animate({top:'-30px'});
        }, function() {
            $('#topBarDropDown').stop();
            $('#topBarDropDown').animate({top:'-60px'});
        });

        $('#deleteProjectBtn').click(deleteProject);
        $('#cancelProjectBtn').click(cancelProject);

        $( "#datepicker" ).datepicker({ dateFormat: "yy-mm-dd" });
    });

    function someFunction(){
        //do something
    }

    function cancelProject(){
        window.location = 'admin.php';
    };

    <!-- ########## DOCUMENT.ready ############### -->
    $(document).ready(function(e) {
        alert("document is ready");
        var myCompSelector = document.getElementById('fcompanySelection');
        myCompSelector.selectedIndex = parseInt(<?=$project['companyID']?>)-1;

        var myCatSelector = document.getElementById('category');
        myCatSelector.selectedIndex = parseInt(<?=$project['categoryID']?>)-1;
    });

</script>
4

3 に答える 3

1

試す :

<script>

    function someFunction(){
        //do something
    }

    function cancelProject(){
        window.location = 'admin.php';
    };

    /** ########## DOCUMENT.ready ############### **/
    $(document).ready(function(e) {
        alert("document is ready");
        $('#topBarWrapper').hover(function() {
            $('#topBarDropDown').stop();
            $('#topBarDropDown').animate({top:'-30px'});
        }, function() {
            $('#topBarDropDown').stop();
            $('#topBarDropDown').animate({top:'-60px'});
        });

        $('#deleteProjectBtn').click(deleteProject);
        $('#cancelProjectBtn').click(cancelProject);

        $( "#datepicker" ).datepicker({ dateFormat: "yy-mm-dd" });


        var myCompSelector = document.getElementById('fcompanySelection');
        myCompSelector.selectedIndex = parseInt(<?=$project['companyID']?>)-1;

        var myCatSelector = document.getElementById('category');
        myCatSelector.selectedIndex = parseInt(<?=$project['categoryID']?>)-1;
    });

</script>
  • //インライン コメント、ドキュメント用の/* ... */コメント ブロック、コメント ブロックに使用/** ... **/
  • .load()リモート コンテンツを要素にロードするための Ajax メソッドです$(document).ready(function(){})$(function(){})
  • 意図的なものかどうかはわかりませんが、クライアント側で実行されない PHP パーツもあります。

        var myCompSelector = document.getElementById('fcompanySelection');
        myCompSelector.selectedIndex = parseInt(<?=$project['companyID']?>)-1;
    
        var myCatSelector = document.getElementById('category');
        myCatSelector.selectedIndex = parseInt(<?=$project['categoryID']?>)-1;
    
  • デバッガー コンソール(Chrome の F12 ボタン) で常に試してから、最小限のコードで削除されたjsFiddleを作成してエラーを再現することを忘れないでください。ほとんどの場合、これを行うと、バグを絞り込んでいる間にコードが既にデバッグされます。

  • console.log('text here or even javascript objects')よりも好むalert()

コードの例を次に示します(実行できるようにPHP部分をコメントアウトしました): http://jsfiddle.net/techunter/MRZSh/

于 2013-08-26T12:39:18.530 に答える
1

コメントから回答まで:

コメントの形式が間違っています。

<!-- HTML Comment -->

// Javascript single line

/*
   Javascript
   Multiple lines
*/

詳細: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Code_comments

編集

私はあなたが使用するのを見ることができます<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

また、あなたはそれが機能すると言いますが、<script type="text/javascript">機能し<script>ません。

<script type="text/javascript">したがって、おそらく代わりに本文を追加する必要があります<script>

または<!doctype html>、すべてのブラウザーでサポートされているものに変更します。

于 2013-08-26T12:38:25.820 に答える