web-dev-qa-db-fra.com

Comment appeler une fonction JavaScript dans un corps HTML

J'ai une fonction JavaScript qui remplit une table:

<script>

var col1 = ["Full time student checking (Age 22 and under) ", "Customers over age 65", "Below  $500.00"];
var col2 = ["None", "None", "$8.00"];

function createtable() {
    <!--To fill the table with javascript-->
    for (var j = 0; j < col1.length; j++) {
        if (j % 2 == 0) {
            document.write("<tr><td>" + col1[j] + " </td>");
            document.write("<td>" + col2[j] + "</td></tr>");
        } else {
            document.write("<tr  bgcolor='#aeb2bf'><td>" + col1[j] + " </td>");
            document.write("<td>" + col2[j] + "</td></tr1>");
        }
    }
}
</script>

Je veux l'exécuter dans le corps HTML. J'ai essayé ce qui suit, mais cela ne crée pas la table.

<table>
    <tr>
        <th>Balance</th>
        <th>Fee</th>        
    </tr>
      createtable();
</table>

Comment puis-je exécuter cette fonction dans le corps HTML?

31
user2804038

Essayez d'encapsuler l'instruction createtable(); dans une balise <script>:

<table>
        <tr>
            <th>Balance</th>
            <th>Fee</th>

        </tr>
        <script>createtable();</script>
</table>

J'éviterais d'utiliser document.write () et utiliserais le DOM si j'étais à votre place.

47
HaukurHaf

Commencez par inclure le fichier dans la balise head de html, puis appelez la fonction dans les balises de script sous les balises body par exemple.

Fonction de fichier Js à appeler

function tryMe(arg) {
    document.write(arg);
}

FICHIER HTML

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src='object.js'> </script>
    <title>abc</title><meta charset="utf-8"/>
</head>
<body>
    <script>
    tryMe('This is me vishal bhasin signing in');
    </script>
</body>
</html>

terminer

6
vishal

Essayez d'utiliser la méthode createChild () de DOM ou les méthodes insertRow () et insertCell () de l'objet table dans la balise de script.

0
Deepak

Juste pour clarifier les choses, vous ne pouvez/ne pouvez pas "l'exécuter dans le corps HTML".

Vous pouvez modifier le contenu du code HTML à l'aide de javascript. 

Vous décidez à quel moment vous voulez que le javascript soit exécuté.

Par exemple, voici le contenu d’un fichier HTML, y compris javascript, qui fait ce que vous voulez.

<html>
  <head>
    <script>
    // The next line document.addEventListener....
    // tells the browser to execute the javascript in the function after
    // the DOMContentLoaded event is complete, i.e. the browser has
    // finished loading the full webpage
    document.addEventListener("DOMContentLoaded", function(event) { 
      var col1 = ["Full time student checking (Age 22 and under) ", "Customers over age 65", "Below  $500.00" ];
      var col2 = ["None", "None", "$8.00"];
      var TheInnerHTML ="";
      for (var j = 0; j < col1.length; j++) {
        TheInnerHTML += "<tr><td>"+col1[j]+"</td><td>"+col2[j]+"</td></tr>";
    }
    document.getElementById("TheBody").innerHTML = TheInnerHTML;});
    </script>
  </head>
  <body>
    <table>
    <thead>
      <tr>
        <th>Balance</th>
        <th>Fee</th>        
      </tr>
    </thead>
    <tbody id="TheBody">
    </tbody>
  </table>
</body>

Prendre plaisir !

0
carbontracking