gpt4 book ai didi

用于提交基于多个变量重定向的表单的 JavaScript

转载 作者:行者123 更新时间:2023-11-28 08:41:34 25 4
gpt4 key购买 nike

我确信这只是我遗漏了一些完全明显的东西,但我已经坐在这里欺骗了几个小时,但仍然没有拿出任何骰子。我将使用的表单的修改版本是:

<html>
<head>
<script language="javascript;" type="text/javascript">
function setAction() {
var country = document.getElementById("FormCtrl_1").value;
var business = document.getElementById("FormCtrl_2").value;
if (country === "Afghanistan" && business === "Yes") {
window.location = "http://www.google.com";
}
}
</script>
</head>
<body>
<form>
<div class="row"> <label for="FormCtrl_1">Where are you going?</label>
<select id="FormCtrl_1" name="FormCtrl_1">
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
</select>
</div>
<div class="row">
<fieldset>
<legend>Is this a business trip?</legend>
<span>
<input value="Yes" id="FormCtrl_2_1" name="FormCtrl_2" type="radio">
<label for="FormCtrl_2_1">Yes</label></span>
<span>
<input value="No" id="FormCtrl_2_2" name="FormCtrl_2" type="radio">
<label for="FormCtrl_2_2">No</label>
</span>
</fieldset>
</div>
<div class="row">
<input value="Submit" onclick="setAction()" type="button">
</div>
</form>
</body>
</html>

这是查看其他问题和答案的几个不同迭代的混搭,因此完全有可能在某一时刻我比现在更接近,但一切刚刚开始看起来像胡言乱语对我来说,所以我会说“叔叔”,并向你们询问一些很棒的人。提前致谢!

最佳答案

从提交按钮中删除 .onclick 事件,转而使用表单元素上的 .onsubmit 事件。像这样:

<form onsubmit="return setAction()" method="post" action="">
<div class="row">
<label for="FormCtrl_1">Where are you going?</label>
<select id="FormCtrl_1" name="FormCtrl_1">
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
</select>
</div>
<div class="row">
<fieldset>
<legend>Is this a business trip?</legend>
<span>
<input value="Yes" id="FormCtrl_2_1" name="FormCtrl_2" type="radio">
<label for="FormCtrl_2_1">Yes</label>
</span>
<span>
<input value="No" id="FormCtrl_2_2" name="FormCtrl_2" type="radio">
<label for="FormCtrl_2_2">No</label>
</span>
</fieldset>
</div>
<div class="row">
<input value="Submit" type="submit" />
</div>
</form>

您的 JavaScript 也存在一些问题。第一个问题是您获得的 radio 输入值始终为"is",而我们需要检查它是否已选中(选择)。下一个问题是您需要返回 false,以便阻止表单提交并且页面不会重新加载。尝试一下:

function setAction() {
var country = document.getElementById("FormCtrl_1").value;
var business = document.getElementById("FormCtrl_2_1").checked;

if (country === "Afghanistan" && business === true) {
window.location = "http://www.google.com";
}

return false;
}

JSFiddle 示例:http://jsfiddle.net/eF2wH/2/

JSFiddle 注意:除非您使用 Google 以外的 URL,否则重定向将不起作用

关于用于提交基于多个变量重定向的表单的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20414098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com