如果选中了单选框,则使用javascript重定向

时间:2018-10-17 09:03:15

标签: javascript php redirect radio-button html-form

我制作的js脚本存在一些问题(可能是因为这不是正确的方法,但我想出了这个主意)。 基本上,我有一个带有一些单选按钮的表单。是或否

<form action="#" method="POST" OnSubmit="return check()">
<input type="radio" id="effettuato" name="sicep" value="Effettuato" />Effettuato <br/>
<input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" />Non Effettuato <br/>
<input class="button" type="submit" name="submit" value="Invia" button style="height:50px;width:150px">
</form>

现在我制作了这个JavaScript脚本,因为如果没有选择任何单选按钮,我想停止用户。

    function check() {
    if (document.getElementById('effettuato').checked) {
        window.location = 'processiorari.php';
    }
    else if (document.getElementById('noneffettuato').checked) {
        window.location = 'processiorari.php';
    }
    else {
        alert('Seleziona tutti i campi per continuare!');
        return false;
    }
}

如果他选择了一个选项,我想将他重定向到另一个名为

的页面
  

processorari.php

写这些行的页面是

  

orari.php

有帮助吗?我只是在做重定向错误或整个概念是错误的? 所有文件都在同一个文件夹中,我正在使用xampp运行所有内容

5 个答案:

答案 0 :(得分:3)

您可以在字段中使用required =“ required”,并将表单操作设置为要重定向的页面。

<form action="processorari.php" method="POST">
  <input type="radio" id="effettuato" name="sicep" value="Effettuato" required="required" />Effettuato <br/>
  <input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" required="required" />Non Effettuato <br/>
  <input class="button" type="submit" name="submit" value="Invia" button style="height:50px;width:150px">
</form>

答案 1 :(得分:2)

您可以使用click event listener来实现。单击该按钮时,它会检查单选按钮是否已选中,如果已选中,它将使用window.location.href进行重定向。无需使用提交。

document.getElementById("submit-btn").addEventListener("click", function() {
  if(document.getElementById('effettuato').checked) {
    window.location.href = 'processiorari.php';
  } else if(document.getElementById('noneffettuato').checked) {
    window.location.href = 'processiorari.php';
  } else {
    alert('Seleziona tutti i campi per continuare!');
  }
});
<form method="POST" action="#">
<input type="radio" id="effettuato" name="sicep" value="Effettuato" />Effettuato <br/>
<input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" />Non Effettuato <br/>
<input class="button" id="submit-btn" type="button" name="submit" value="Invia" button style="height:50px;width:150px">
</form>

答案 2 :(得分:0)

我不知道这是否是正确的方法,但是以某种方式可以正常工作

    function check() {
    if (document.getElementById('effettuato').checked) {
        return true;
    }
    else if (document.getElementById('noneffettuato').checked) {
        return true;
    }
    else {
        alert('Non puoi lasciare un campo in bianco!');
        return false;
    }
}

我就这样保留动作

<form action="processorari.php" method="POST" OnSubmit="return check()">
<input type="radio" id="effettuato" name="sicep" value="Effettuato" />Effettuato <br/>
<input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" />Non Effettuato <br/>
<input class="button" type="submit" name="submit" value="Invia" button style="height:50px;width:150px">
</form>

答案 3 :(得分:0)

要检查选中哪个复选框并相应地重定向页面:

  $(document).ready(function() {

     $('#mychckbx1').prop('checked') ?  window.location.href = 'page1.php' : false;

     $('#mychckbx2').prop('checked') ?  window.location.href = 'page2.php' : false;

  });

答案 4 :(得分:-1)

问题是仅在提交表单时才调用check()函数。除此之外,我看不到任何错误。

如果您这样将onsubmit更改为onchange,它将起作用:

<form action="#" method="POST" onchange="check()">
    <input type="radio" id="effettuato" name="sicep" value="Effettuato"  />Effettuato <br/>
    <input type="radio" id="noneffettuato" name="sicep" value="Non Effettuato" />Non Effettuato <br/>
    <input class="button" type="submit" name="submit" value="Invia" button style="height:50px;width:150px">
</form>
相关问题