1

私はスクリプトタグの scr 属性に外部 jscript ファイルを追加する最初のプログラムを試している初心者ですが、検索したすべての手順に従いましたが、正常に機能していません。誰かがこれで私を助けてくれますか?

  1. 私は1つのaspxフォームと1つのボタンonclickを内部javascript関数を呼び出しています。また、外部の .js ファイル関数を呼び出す onclick というボタンが 1 つあります。

これは私のaspxコードです

<head runat="server">
<script type="text/javascript" language="javascript" src="ExternalJScript.js">
function Myfunction()
{
    document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript            function";
    alert("Hi Function Called from Javascript");   
}
</script>
<title></title>
</head>

<body>
<form id="form1" runat="server">
    <div>
    <button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br />
    <button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button>
    </div>
</form>

そして、これは私の .js コードです

ExternalJSFileFunction()
{
    alert("I m from external file");
}
4

2 に答える 2

2

外部スクリプトのスクリプト タグの間にコードを挿入しないでください。次のように変更してみてください。

<head runat="server">
    <script type="text/javascript" language="javascript" src="ExternalJScript.js"></script>
    <script type="text/javascript">
    function Myfunction()
    {
    document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript            function";
    alert("Hi Function Called from Javascript");   
    }
    </script>
    <title></title>
    </head>

    <body>
    <form id="form1" runat="server">
<div>
<button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br />
<button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button>
</div>
    </form>

また、Language 属性は推奨されておらず、必要ありません。

編集

function キーワードが使用されていないため、呼び出そうとしている関数が実際には関数ではないためです。外部ファイルを次のように変更します。

function ExternalJSFileFunction() 
{
    alert("I m from external file");
}

その後、それは動作します

さらに、他にもいくつかのヒントがあります。

HTML5 doctype を使用している場合は、<script>要素の type 属性も削除できます

また、関数または条件と同じ行に開き中括弧を配置してください。

function ExternalJSFileFunction() {

だがしかし:

function ExternalJSFileFunction()
{

</body>ほとんどの場合、スクリプトはページの最後、つまりパフォーマンスのために終了タグの直前に追加する必要があります。

属性を使用するonclickことも、イベント ハンドラーをアタッチするための推奨される方法ではありませんaddEventListener()。代わりに、適切な方法を使用する必要があります。<= IE8 をサポートする必要がある場合は、IE の古いイベント API を使用する必要があります。JS ライブラリの使用。jQuery のように、この種の作業に本当に役立ちます。

于 2012-07-10T15:01:38.633 に答える
1

外部 JavaScript ファイルの関数が正しく定義されていません。

次のようになります (functionキーワードを追加しました)。

function ExternalJSFileFunction()
{
    alert("I m from external file");
}

また、ダンウェルマンが回答で提案した変更を加える必要があります。

于 2012-07-10T18:31:54.650 に答える