4 Stimmen

Wie füge ich mit Javascript etwas in mein HTML ein, ohne die ganze Seite zu löschen?

Ich habe einen kleinen Taschenrechner, den ich in meine html-Seite einfüge. Es hat ein paar Dropdowns, um Sachen auszuwählen, und wenn eine Person auf eine Schaltfläche zum Abschicken drückt, möchte ich ein Bild unter dem Rechner in meinem HTML anzeigen. Ich habe versucht, eine Javascript-Funktion mit document.write() zu verwenden, aber das löscht die ganze Seite. Gibt es eine Möglichkeit, eine Javascript-Funktion auszuführen, die nur dann ein Bild zu meiner Seite hinzufügt, wenn eine Schaltfläche zum Absenden angeklickt wird?

Hier ist eine BASIC-Skizze meines Codes mit dem Teil, mit dem ich Probleme habe:

<html>

<head>
<script type="text/javascript">

function calc_rate() {

    //code that displays a message after the submit button is hit        
    document.write("answer");
}

</script>

</head>
<body>

<table>

<tr>
    <td class=rate_calc_label>Select Your Option Type:</td>
<td><select name="type1">
    <option></option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    </select></td>
</tr>  

<tr>
<td class=rate_calc_label>Select The Second Number:</td>
<td><select name="type2">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
    <option>9</option>
    <option>10</option>
    <option>11</option>
    <option>12</option>
    </select></td>
</tr>

<tr>
<td><input type="submit" value="Submit" name="calc_button" onclick="calc_rate()"/></td>
<td></td>
</tr>    

</table>

</body>
</html>

Wäre es möglich, eine Art inneres HTML zu verwenden? Das ist, was ich von anderen auf stockoverflow bekam, aber ich bin immer noch ein wenig verwirrt

12voto

Sie benötigen ein Platzhalterelement für Ihre Ausgabe. Legen Sie dann das innerHTML für dieses Element fest:

<div id='answer'></div>

dann:

document.getElementById('answer').innerHTML = "answer is:" + yourdata

4voto

Marc B Punkte 347897

Verwenden Sie document.write nicht, Punkt. Verwenden Sie DOM-Operationen: http://www.quirksmode.org/dom/intro.html

2voto

bokonic Punkte 1741

Anstelle von document.write() können Sie die innerHTML Eigenschaft eines beliebigen DOM-Knotens, um der Seite Text hinzuzufügen.

Angenommen, Sie fügen eine <div id='result'></div> an das Ende der Seite (vor dem Body-Tag). Dann in Ihrem javascript haben:

var result_display = document.getElementById('result');
// and in calc_rate():
result_display.innerHTML = "answer";

Beachten Sie, dass dadurch der Text der Ergebnisanzeige immer zurückgesetzt wird. Sie können diesen Vorgang auch in eine Funktion verpacken:

function displayResult(result){
    result_display.innerHTML = '<h2>' + result + '</h2>'; // or whatever formatting
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X