javascript - 搜索按钮 - 在按钮运行之前验证文本框
问题描述
我需要在我的 index.cshtml 中运行一个 javascript 函数来清理一些可能不需要的字符和额外空格的文本框。
该站点在 .NET CORE MVC 上运行。
按钮代码:
<button onclick="executeValidationTest()" class="btn btn-success ladda-button ladda-button-infinite" data-style="expand-right" type="submit"><i class="fa fa-search"></i> Recherche</button>
问题是......搜索开始时没有先运行我的清理脚本。结果,我的搜索结果中包含一些我在默认搜索中不想要的字符。
我尝试使用另一个按钮,它工作正常,但用户讨厌单击多个按钮。
我注意到有一个包含脚本的代码:
@Html.AddResource(PageResourceType.Javascript, @<script>SomeScriptAlreadyInTheFile</script<)
我试图把我的代码放在这里,但它也不起作用。
我的脚本:
function executerTestDeValidation() {
console.log("Script call ok");
if (document.getElementById("ISBN").value != "") {
var string = document.getElementById("ISBN").value;
// OUTPUT
console.log("Before Clean: " + string);
// ___________________________________
// START CLEAN - Use string variable
// Clear all non numbers
string = string.replace(/\D/g, "");
console.log("After Clean: " + string);
// Check char total numbers
var n = string.length;
console.log("Lenght: " + n);
// Check if full string is multiple of 13 - rest zero
var rest = n / 13;
if (n % 13 != 0) {
// IF DIVISION BY ZERO = ERROR
// console.log("Lenght: " + n + " is NOK");
document.getElementById("txtBox").value = "ERROR";
} else {
// IF DIVISION BY ZERO = GOOD
// console.log("Lenght: " + n + " is Good (Divisible par 13 et reste 0)");
// Add spaces every 13 Chars
var chuncks = string.match(/.{1,13}/g);
var string = chuncks.join(" ");
// console.log("After space split: " + string);
document.getElementById("ISBN").value = string;
// Check for last digit verification number on each ISBN number
// ...
}
}
}
我在哪里放置我的脚本调用,以便在执行默认搜索之前按下按钮时运行我的脚本?
最好的问候瑞
解决方案
我用 onKeyUp() 解决了这个问题,但用户 ADyson 让我找到了一个真正实用的解决方案的正确方向。
推荐阅读
- javascript - Rock, Paper, Scissors 游戏:我的代码中的循环不断给我相同的随机结果
- python - 如何设置具有多种功能的for循环?
- vue.js - Vuex:从 Vuex 内部向动作发送参数
- amazon-web-services - 如何从本地 SSH ----> 跳转框 ----> 私有子网
- c# - 我尝试在 *somee.com* 上托管一个 ASP.NET C# Web 应用程序,但我无法正确显示我的主页
- git - Git:新存储库,尝试从系统推送现有存储库时出错
- vue.js - 资产文件夹只是返回主页
- python - Django中的多对多关系
- linux - 将数组变量传入和传出嵌套的 bash 脚本
- kotlin - 无法更改 mutableListOf( ) 值