首页 > 解决方案 > 搜索按钮 - 在按钮运行之前验证文本框

问题描述

我需要在我的 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
            // ...
         }
      }
   }

我在哪里放置我的脚本调用,以便在执行默认搜索之前按下按钮时运行我的脚本?

最好的问候瑞

标签: javascript.netasp.net-mvc

解决方案


我用 onKeyUp() 解决了这个问题,但用户 ADyson 让我找到了一个真正实用的解决方案的正确方向。


推荐阅读