我制作的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运行所有内容
答案 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>