В основном ошибка будет в функции, но я не могу ее найти. Я новичок в этом разделе, так что будьте терпеливы.

        <html>
            <head><title>print names</title>
    <script language="javascript">
        function name() 
    {
          var first, middle, last;
          first = document.f1.fname.value;
          middle = document.f1.mname.value;
          last = document.f1.lname.value;
div1.insertAdjacentHTML("AfterEnd", "<h1 style='textalign:center'>My name is " + first + middle + last + "</h1>");
        }

            </head>
            <body bgcolor="9edcba">
            <h1>here we display the name</h1>
            <form name="f1">
            Enter the first name: <input type=text name="fname" size=15>
            <br>
            Enter the middle name: <input type=text name="mname" size=15>
            <br>
            Enter the last name: <input type=text name="lname" size=15>
            <br>
            <div id="div1">
            <input type=button value="click here" onclick="name()">
            </div>
    </form>
            </body>
            </html>
-6
Loins Den 20 Дек 2015 в 09:40

4 ответа

Лучший ответ
<html>
<head>
    <title>print names</title>
    <script type="text/javascript">
    function myname()
    //Changed the function to myname as name is reserved
    {
        var first,middle,last;
        first=document.f1.fname.value;
        middle=document.f1.mname.value;
        last=document.f1.lname.value;
        div1.insertAdjacentHTML("afterend","<h1 align='center'>My name is " + first+ " " + middle + " " +last + "</h1>");
        //Fixed the above code, added correct quotes + spaces + added a closing </h1> tag
    }
    </script>
</head>
<body bgcolor="9edcba">
    <h1>here we display the name</h1>
    <form name="f1">
        Enter the first name: <input type=text name="fname" size=15>
        <br>
        Enter the middle name: <input type=text name="mname" size=15>
        <br>
        Enter the last name: <input type=text name="lname" size=15>
        <br>
        <div id="div1">
            <input type=button value="click here" onclick="myname()">
        </div>
    </form>
</body>
</html>
  1. Измените имя функции, так как name () зарезервировано.
  2. Отредактировал кавычки + ДОБАВЛЕНО закрытие </h1>
  3. Добавлены закрывающие теги формы.

enter image description here

1
Mr Lister 27 Дек 2015 в 17:57

Всякий раз, когда вы получаете проблему с JavaScript, попробуйте добавить предупреждение и проверить, вызывается ли функция.

Проверьте код ниже, это решит вашу проблему. даже если вы принимаете ответ.

<html>
<head><title>print names</title>
    <script language="javascript">
        function call()
        {

            var first, middle, last;
            first = document.f1.fname.value;

            middle = document.f1.mname.value;

            last = document.f1.lname.value;

            div1.insertAdjacentHTML("AfterEnd", "<h1 style='textalign:center'>My name is " + first + middle + last + "</h1>");
        }
</script>
        </head>
        <body bgcolor="9edcba">
                <h1>here we display the name</h1>
        <form name="f1">
                Enter the first name: <input type=text name="fname" size=15>
                <br>
                Enter the middle name: <input type=text name="mname" size=15>
                <br>
                Enter the last name: <input type=text name="lname" size=15>
                <br>
                <div id="div1">
                <input type=button value="click here" onclick="call()">
                </div>
                </form>
                </body>
                </html>
0
soorapadman 20 Дек 2015 в 07:49

Замените вашу строку div1.insert следующей строкой div1.insertAdjacentHTML («AfterEnd», «Меня зовут» + первый + средний + последний); и измените имя функции на «name1». Так как «имя» не может использоваться как имя функции.

1
Ashu 20 Дек 2015 в 07:10

Возможно, слишком поздно, но вы могли бы сделать что-то подобное.

  • Изменены классы элементов формы на идентификаторы, поскольку они более безопасны при получении какого-либо ввода и его возврате.
  • изменено name() на myFunction(), поскольку имя нельзя использовать, поскольку оно зарезервировано.
  <script>
    function myFunction() {
      var fname = document.getElementById("fname");
      var mname = document.getElementById("mname");
      var lname = document.getElementById("lname");
      var currentVal = fname.value + " " + mname.value + " " + lname.value;

      div1.insertAdjacentHTML("afterend", "<h1 align='center'>My name is " + currentVal + "</h1>");
    }
  </script>
</head>

<body bgcolor="9edcba">
  <h1>here we display the name</h1>
  <form name="f1">
    Enter the first name:
    <input type=text id="fname" size=15>
    <br> Enter the middle name:
    <input type=text id="mname" size=15>
    <br> Enter the last name:
    <input type=text id="lname" size=15>
    <br>
    <div id="div1">
      <input type=button value="click here" onclick="myFunction()">
    </div>
  </form>
0
Guille 20 Дек 2015 в 07:44