确认操作后启动脚本(HTML)

时间:2017-02-21 08:36:32

标签: javascript html

所以,我目前正在学校进行网络管理培训的最后实习。我被要求创建一个简单的网页,允许选择一系列服务器来执行全新安装。喜欢:当我选择'Server 1'和'Server 4'>点击“提交”>确认我的行动>启动执行全新安装的VBscript。

到目前为止我所拥有的内容(也可参考最后的代码段):   - 基本欢迎文本   - 复选框   - 全选(javascript)   - 继续按钮   - 点击“继续”按钮>显示要求确认的警告

我想要它做的是在确认之后启动所选框的脚本。那可能吗?我的意思是,我认为我需要的不是HTML。可能是Javascript?我该怎么做?

我不是这方面的专家,根本不是。我确实有一些HTML和CSS的经验,但Javascript和所有这些?不,完全没有。非常乐意为此提供一些帮助!

<html>
<head>
<title>
Huawei Cleaning Center
</title>
<script type="text/javascript">
function SetAllCheckBoxes(FormName, FieldName, CheckValue)
{
    if(!document.forms[FormName])
        return;
    var objCheckBoxes = document.forms[FormName].elements[FieldName];
    if(!objCheckBoxes)
        return;
    var countCheckBoxes = objCheckBoxes.length;
    if(!countCheckBoxes)
        objCheckBoxes.checked = CheckValue;
    else
        // set the check value for all check boxes
        for(var i = 0; i < countCheckBoxes; i++)
            objCheckBoxes[i].checked = CheckValue;
}
</script>
<script type="text/javascript">
function clicked() {
       if (confirm('Weet u zeker dat u wilt doorgaan?')) {
           yourformelement.submit();
       } else {
           return false;
       }
    }

</script>
</head>
<body>
<center><h1>Welkom bij Huawei Cleaning Center!</h1></center>
<br><br>
Kruis één of meerdere van de volgende servers aan waarop u een Clean Install wilt uitvoeren:<br><br>
<form method="GET" action="page17.php" name="myForm" onsubmit="return false;">
<label for="myCheckbox1">
<input type="checkbox" name="myCheckbox" value="1" id="myCheckbox1">
172.16.115.11 </label>
<br>
<label for="myCheckbox2"><input type="checkbox" name="myCheckbox" value="2" id="myCheckbox2">
172.16.115.21 </label>
<br>
<label for="myCheckbox3"><input type="checkbox" name="myCheckbox" value="3" id="myCheckbox3">
172.16.115.31 </label>
<br>
<label for="myCheckbox4"><input type="checkbox" name="myCheckbox" value="4" id="myCheckbox4">
172.16.115.41 </label>
<br><br><input type="submit" id="submit1" onclick="clicked();" value="Doorgaan">
<input type="button" onclick="SetAllCheckBoxes('myForm', 'myCheckbox', true);" value="Selecteer alles">
<input type="button" onclick="SetAllCheckBoxes('myForm', 'myCheckbox', false);" value="Deselecteer alles">
</form>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

像这样改变你的js。如果您单击是,则表单将提交

<script type="text/javascript">
  function clicked() {
   var confirmed = confirm('Weet u zeker dat u wilt doorgaan?')
   if (confirmed) {
       yourformelement.submit();
   } else {
       alert('You clicked No');
   }
}

</script>

答案 1 :(得分:0)

如果你使用JQuery,你也可以这样做:

$(yourformelement).submit(function(e){
   var dialogresult = confirm('Confirm');
   if (dialogresult ) {
       return true;
   } else {
       return false;
   }
});

答案 2 :(得分:0)

查看您的代码,看起来您正在使用PHP。在这种情况下,你可以在你的php页面中尝试这样的东西(page17.php,如action属性中所述):

if(!empty($_POST['serverList'])) {
  foreach($_POST['serverList'] as $arg) {
    exec('cscript "path/to/script.vbs" ' . $arg);
  }
}

$_POST['serverList']包含复选框值的数组,foraech循环将执行VBscript,将值作为参数传递。

这是JS / CSS / HTML代码的片段:

function setCheckboxes(checkboxName, value) {
  checkboxes = document.getElementsByName(checkboxName);
  for (var i = 0, n = checkboxes.length; i < n; i++) {
    checkboxes[i].checked = value;
  }
}

function submitForm(checkboxName) {
  checkboxes = document.getElementsByName(checkboxName);
  for (var i = 0, n = checkboxes.length; i < n; i++) {
    if (checkboxes[i].checked == true) {
      confirmation = confirm('Weet u zeker dat u wilt doorgaan?');
      if (confirmation) {
        return true;
      } else { 
        return false; 
      }
    }
  }
  alert('No server selected!');
  return false;
}
.main-heading {
  margin-bottom: 60px;
  text-align: center;
}

.info {
  margin-bottom: 60px;
}
<h1 class="main-heading">Welkom bij Huawei Cleaning Center!</h1>
<p class="info">
  Kruis één of meerdere van de volgende servers aan waarop u een Clean Install wilt uitvoeren:
</p>
<form method="POST" action="page17.php" name="myForm" onsubmit="return false;">
  <label for="checkbox-1">
    <input type="checkbox" name="serverList[]" value="1" id="checkbox-1">
    172.16.115.11
  </label>
  <br>
  <label for="checkbox-2">
    <input type="checkbox" name="serverList[]" value="2" id="checkbox-2">
    172.16.115.21
  </label>
  <br>
  <label for="checkbox-3">
    <input type="checkbox" name="serverList[]" value="3" id="checkbox-3">
    172.16.115.31
  </label>
  <br>
  <label for="checkbox-4">
    <input type="checkbox" name="serverList[]" value="4" id="checkbox-4">
    172.16.115.41
  </label>
  <br><br>
  <input type="submit" onclick="submitForm('serverList[]');" value="Doorgaan">
  <input type="button" onclick="setCheckboxes('serverList[]', true);" value="Selecteer alles">
  <input type="reset" value="Deselecteer alles">
</form>

希望有所帮助:)