2016-09-27 5 views
-2

Ich habe eine Funktion erstellt, die so lange funktioniert, bis ich dem .js-Dokument weitere Funktionen hinzufüge.Funktion funktioniert nach dem Hinzufügen weiterer Funktionen nicht mehr

Dies ist der html ..

<input id="nameSearch" type="text"/> 
<input type="button" value="Search" onclick="search();"/> 

Dies ist die js ..

function search(){ 
     var bName = document.getElementById("nameSearch").value; 
     alert(bName); 
    }; 

Das funktioniert, bis ich eine neue Funktion auf das externe Js-Dokument hinzuzufügen. Ich benutze noch keine dieser Funktionen in der HTML-Datei, also bin ich mir nicht sicher, warum sie das beeinflussen würden.

function business(b_name,add_1,add_2,city,state,zip,phone){ 
    this.b_name = b_name, 
    this.add_1 = add_1, 
    this.add_2 = add_2, 
    this.city = city, 
    this.state = state, 
    this.zip = zip, 
    this.phone = phone, 
}; 

var ADW = new business("xxx", "xxx", "xxx", "Tucson", "AZ", "xxx", "xxx-xxx-xxxx"); 

var PC = new business("xxx", "xxx", "xxx", "Tucson", "AZ", "xxx", "xxx-xxx-xxxx"); 

var contacts = [ADW, PC]; 
+0

Welchen Fehler bekommen Sie? – raphael75

+1

Suchen Sie in Ihrer Entwicklerkonsole. Gibt es irgendwelche Fehler? (Die Verwendung der Entwicklerkonsole Ihres Browsers ist * die beste Sache *, die Sie ausführen können, wenn Sie JavaScript entwickeln möchten.) –

+1

'this.b_name = b_name,' <--- Wozu dient das Komma? – zerkms

Antwort

3

Es ist, weil Sie Fehler in Ihrer business Funktion haben.

Ich glaube, du bist für Semikolons statt Kommas suchen:

function business(b_name,add_1,add_2,city,state,zip,phone){ 
    this.b_name = b_name; 
    this.add_1 = add_1; 
    this.add_2 = add_2; 
    this.city = city; 
    this.state = state; 
    this.zip = zip; 
    this.phone = phone; 
}; 

Von einem hohen Niveau, es sieht aus wie Sie versuchen, ein Objekt zu definieren und mit Hilfe der business Funktion als Initialisierungsverfahren . Sie könnten, dass stattdessen tun wollen:

let business = { 
    b_name: b_name, 
    add_1: add_1, 
    add_2: add_2, 
    city: city, 
    state: state, 
    zip: zip, 
    phone: phone 
}; 

Here's some further reading on the topic.

this helps

1

Wenn Sie in Ihrer Konsole suchen, werden Sie diesen Fehler sehen:

SyntaxError: expected expression, got '}' 

Es sagt sogar dir welche linie ist das problem!

Ihr Problem ist, dass Sie Zeilen innerhalb der Funktion nicht mit einem Semikolon abgeschlossen haben, Sie haben Kommas verwendet.

Hier ist das Update, das richtig läuft:

function business(b_name,add_1,add_2,city,state,zip,phone){ 
    this.b_name = b_name; 
    this.add_1 = add_1; 
    this.add_2 = add_2; 
    this.city = city; 
    this.state = state; 
    this.zip = zip; 
    this.phone = phone; 
} 

var ADW = new business("xxx", "xxx", "xxx", "Tucson", "AZ", "xxx", "xxx-xxx-xxxx"); 

var PC = new business("xxx", "xxx", "xxx", "Tucson", "AZ", "xxx", "xxx-xxx-xxxx"); 

var contacts = [ADW, PC]; 

Und hier ist a Fiddle wo man sehen kann es läuft.

Verwandte Themen