首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证表单时运行两次Javascript函数

验证表单时运行两次Javascript函数
EN

Stack Overflow用户
提问于 2017-03-25 14:34:31
回答 2查看 46关注 0票数 0

我相信对此一定有一个简单的解释。我试图得到一个警告‘国家必须被选中’时出现的选项‘没有选择’(它是默认的,我相信),并点击验证按钮。我得到了正确显示警报的函数,但问题是警报显示了两次。

为什么警报会显示两次,我怎样才能让它只显示一次呢?谢谢!

代码语言:javascript
复制
function CountrySelectValidation() { // ensures country is selected
	var ValidateCountry = document.forms["registration-form"]["Country"].value;
	if (ValidateCountry == "not-selected") {
		alert("Country must be selected");
		return false;
	} else {
		return true;
	}
}

function SubmitForm() {
    if (CountrySelectValidation()) {
        // check if true, then execute this code
        document.getElementById("registration-form").submit();	
    }
}
代码语言:javascript
复制
<form id="registration-form">
    What country are you from?
    <select name="Country">
		<option value="not-selected">Not Selected</option>
		<option value="england">England</option>
		<option value="wales">Wales</option>
		<option value="scotland">Scotland</option>
		<option value="northern-ireland">Northern Ireland</option>
	</select>
    <br><br><input type="submit" value="Submit Method 1">
    <button type="reset">Reset Method 1</button>
    <button type="submit" id="submit-2">Submit Method 2</button>
</form>

<button onClick="ResetForm()">Reset Method 1</button>
<button onClick="CountrySelectValidation(); SubmitForm()">Validation</button>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-25 14:38:05

调用if语句时,将再次执行该函数。在原始函数中调用的不同函数中运行if语句中的代码。

代码语言:javascript
复制
OriginalFunction () {

      //Content here

      FunctionToHandleIfstatement();

 }
票数 1
EN

Stack Overflow用户

发布于 2017-03-25 14:36:38

代码语言:javascript
复制
CountrySelectValidation()
...
if (CountrySelectValidation())

您可以在CountrySelectValidation内部运行if函数(它实际上会执行),这就是为什么它会运行两次。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43017657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档