Я писал HTML-код для страницы, для которой я пытаюсь добавить форму в определенное место:

index.html Это просто часть кода !!!

<div>
  <div>
    <div class="inner">
      <div class="tab">
        <button class="tablinks" onclick="openFunctionality(event, 'function1')" id="defaultOpen"> function1   </button>
        <button class="tablinks" onclick="openFunctionality(event, 'function2')"> function2</button>
        <button class="tablinks" onclick="openFunctionality(event, 'fucntion3')"> function3 </button>
        <button class="tablinks" onclick="openFunctionality(event, 'function4')">function4 </button>
      </div>
      <div id="function1" class="tabcontent">
        <form id="myflag" method="POST" action="myflag">
          <label class="switch" align="left"> 
            <input type="checkbox" name="switch" onclick="document.forms['myflag'].submit();hideme(); ">
            <span class="slider round"></span>
            </form>
         </label>
          <p id="firstpart " align="middle"> some stuff </p>

          <div align="middle" id="secondpart" class="tabcontent">
            <form id="myform" method="POST" action="myform">
              <p> </p>
          </div>
          <input type="submit" value="Submit" class="button" id="mySubmit">
          </form>
      </div>
    </div>

  </div>

В сценарии. У меня есть следующее: <сильный> Script.js

..............................

/*Button functionality  */
function openFunctionality(evt, funName) {
    evt.preventDefault();
    var i, tabcontent, tablinks;
    tabcontent = document.getElementsByClassName("tabcontent");
    for (i = 0; i < tabcontent.length; i++) {
      tabcontent[i].style.display = "none";
    }
    tablinks = document.getElementsByClassName("tablinks");
    for (i = 0; i < tablinks.length; i++) {
      tablinks[i].className = tablinks[i].className.replace(" active", "");
    }
    document.getElementById(funName).style.display = "block";
    evt.currentTarget.className += " active";
  }
// Get the element with id="defaultOpen" and click on it
document.getElementById("defaultOpen").click();


function hideme() {
  var x = document.getElementById("firstpart ");
  var y = document.getElementById("secondpart");
  if (x.style.display === "none") {
    x.style.display = "block";
    y.style.display ="none"

  } else {
    x.style.display = "none";
    y.style.display = "block";
  }
}

..................................
// wait for the DOM to be loaded 
    $(document).ready(function() { 
        // bind 'myForm' and provide a simple callback function 
        $('#mylfag').ajaxForm(function() { 
          alert("flag done  is configured !");  
        }); 
...............................................................

Все это работает с использованием Nodejs:

const express = require('express');
const multer = require('multer');
const app  = express()
var path = require('path')
var fs = require('fs')
var os = require( 'os' );
var config_fileName = './public/scripts/config.json';
const router =   express.Router();
var configFile = require(config_fileName);
app.use(express.static('public'))
app.use(express.urlencoded())

..........................


app.post('/myflag', (req, res)=>{

  if( req.body.switch === "on"){
    console.log(" on");
   } else {
    console.log("off")
   }
   console.log(configFile.Hardware.Network.Ethernet_1.DHCP )
  });


.......................


app.listen(2005)   

Итак, моя проблема в том, что я не понимаю, как эта часть может:

   <form id= "myflag" method="POST" action="myflag">
                              <label class="switch" align="left"> 
                                  <input type="checkbox" name="switch" onclick="document.forms['myflag'].submit();hideme(); ">
                                    <span class="slider round"></span>
                              </form>

Запускается должным образом, означает запустить функцию hideME() и отправляя запрос на почту на служение, пока остановит перезагрузку страницы !! Отказ

PS: все это было запущено перед добавлением упомянутой формы!

Заранее спасибо!

Обновить

Когда коммутатор / флажок Получите активировать запрос на запись, но страница начать перезагрузку!

-1
Engine 22 Сен 2019 в 11:12

1 ответ

Лучший ответ

document.forms['myflag'].submit() представит страницу и запрашивайте новую страницу через формы method и action Свойства формы ...

Пожалуйста, посмотрите на этот вопрос q & Amp; A:

0
Dean Van Greunen 22 Сен 2019 в 08:22