Warum "Microsoft JScript runtime error: Objekt erwartet"?

Ich bin über 1 Tag alt in der Verwendung von jquery, und ist derzeit ein Alptraum. Ich alreadt verbrachte die Hälfte meiner Zeit versucht, um loszuwerden, diese Fehler.
Ich habe einige Bücher zu Lesen, nachdem "googeln" Sie den Fehler (sorry, Bing!) und entdeckt, dass die meisten dieser Fehler resultieren aus der jquery-Datei nicht ordnungsgemäß geladen. Okay..., begann zu zeigen mich in die richtige Richtung, aber ich konnte immer noch nicht herausfinden, warum es nicht Wegfindung richtig. Ich meine, ich war dabei, wie die Leute sagten – ich würde ziehen Sie die .js-Datei in meine designer-und es würde Druck aus die richtige Pfad, aber immer noch den Fehler zeigt.

Hier meine genauen code in meinen editor-template (mit dem Fehler):

@model bool
@{
    string status = "Active";
    string buttonValue = "Deactivate";
    string hiddenValue = "true";
    if (!ViewData.Model)
    {
       status = "Inactive";
       buttonValue = "Activate";
       hiddenValue = "false";
    }
}

<div style="width:100px; float:left;"> 
<img id = "AD_Img" src = "/Content/themes/base/images/icon_@(status).png" alt = @(status) />
<label for = "AD_Img" id = "AD_Label" >@(status)</label>
</div>
<div style="width:100px; float:left;"> 
<input type="button" id = "AD_Button" value = @(buttonValue) style = "width:100px" onclick = "ChangeStatus()" />
<input id = "AcntStatus" type = "hidden" name = "AcntStatus" value = @(hiddenValue) />
</div>

und in der gleichen cshtml-Datei, geht das Skript auf diese Weise:

<script type="text/javascript" src="/Scripts/jquery-1.5.1.min.js">

function ChangeStatus()             
{
    var ButtonVal = $("#AD_Button").val();
    alert(ButtonVal);

        if (ButtonVal == "Deactivate")
        {
            var stat = "Inactive";
            var buttonVal = "Activate";
            var HiddenValue = "false";
        }

        else if (ButtonVal == "Activate")
        {
            stat = "Active";
            buttonVal = "Deactivate";
            HiddenValue = "true";
        }
            $("#AD_Img").attr({src: "/Content/themes/base/images/icon_"+stat+".png", alt: stat});
            $("#AD_Label").html(stat);
            $("#AD_Button").val(buttonVal);
            $("#AcntStatus").val(HiddenValue);    
}
 </script>

Den debugger Stoppt auf der ChangeStatus Funktion des input-Elements auf die folgende Zeile:

    <input type="button" id = "AD_Button" value = @(buttonValue) style = "width:100px" onclick = "ChangeStatus()" />

habe ich versucht zu Debuggen, indem diese in meiner Funktion code:

    function ChangeStatus()             
    {
       var ButtonVal = document.getElementById("AD_Button").value;
       alert(ButtonVal);
    }

Und es funktioniert einwandfrei, es gibt die genaue Zeichenfolge, ich bin auf der Suche nach ohne, dass die Fehler, aber warum? Was ist falsch an meinem Code?
Bitte helfen Sie mir, dies herauszufinden.

Wenn ich sehe, wie ../ im javascript-src-tags, es ist eine große rote fahne.
Warum sind Sie bei der Erstellung True und False Variablen? Verwenden Sie einfach die true und false Literale es gibt keine Notwendigkeit für die vars und Ihr code wird schneller ausgeführt unter Verwendung der Literale. Da Sie neu in jQuery, ich nehme an, es ist nicht ein Versuch, die Einsparungen über variable umbenennen in Verkleinerung. Wenn das der Grund es ist nicht notwendig, da sollten Sie auch sein-Gzip code und die Differenz, nachdem Gzip wäre vernachlässigbar und nicht Wert, die Leistung Treffer.
ich sehe. dann sollte ich einfach mit src="/Content/themes/base/images/icon_@(status).png" und src="/Scripts/jquery-1.5.1.min.js" statt. danke für den Tipp. 🙂
Ich habe Sie erschaffen für den Zweck der Zuweisung des Wertes von "@ViewBag.- Modell" und/oder "@ - Modell" in Sie (ich habe es, bevor die jquery -$ ), aber mit Hilfe von jquery macht es nutzlos. Danke für den Kommentar zu. 🙂

InformationsquelleAutor ideAvi | 2012-01-27

Schreibe einen Kommentar