当前位置: 代码迷 >> JavaScript >> 输入输入后,如何从字符串中提取最后一个字符?
  详细解决方案

输入输入后,如何从字符串中提取最后一个字符?

热度:64   发布时间:2023-06-03 17:44:14.0

我在laravel和php中有一个项目,并且在视图中有一个输入,其中我写了一个10个字符的字符串,而其他输入的最大值是1 当我在第一个输入中写一个数字时,另一个输入必须满足第一个输入的最后一个字符。

例如:

<form action="{{route('admin.store', $admin)}}" method="POST">

  <input type="text" maxlength="10" minlength="9" id="number">

  <input type="text" maxlength="1" id="last">

  <input type="submit" value="APPLY CHANGES" onclick="return FillTextBox()">
</form>

如果我写2341325432 ,那么第二个输入必须满足值2 ,因为2是第一个输入的最后一个字符。

我尝试了一下,但是没有完全起作用。

因为在laravel中,我的控制器dd($ request-> last)返回一个空值。

<script type="text/javascript">
    function FillTextBox(){
        var string = document.getElementById('number').value;

        document.getElementById('last').value = string.charAt(string.length-1);
    }
</script>

为什么我的功能不起作用? 我试图用按钮捕获事件,或者可能在我在第一个输入中写入尝试捕获事件。

如果由于加载顺序而将JavaScript设置为执行或在执行则代码将无法工作。 如果将其交换为<head><body>的底部,它将按预期工作:

 function FillTextBox() { var string = document.getElementById('number').value; document.getElementById('last').value = string.charAt(string.length - 1); } 
 <form action="new_tab.php" target="_blank" method="POST"> <input type="text" maxlength="10" minlength="9" id="number"> <input type="text" readonly="read" maxlength="1" id="last"> <input type="submit" value="APPLY CHANGES" onclick="return FillTextBox()"> </form> 

为了防止这种情况,您应该通过添加而不是使用来真正利用

 document.getElementById('submit').addEventListener('click', function() { var string = document.getElementById('number').value; document.getElementById('last').value = string.charAt(string.length - 1); }); 
 <form action="new_tab.php" target="_blank" rel="noopener noreferrer" method="POST"> <input type="text" maxlength="10" minlength="9" id="number"> <input type="text" readonly="read" maxlength="1" id="last"> <input id="submit" type="submit" value="APPLY CHANGES"> </form> 

除此之外,当您使用target=_"blank" ,您还想在表单中添加rel="noopener noreferrer"来防止 我已将其添加到以上示例中。

我已经将name属性添加到您的表单字段中,以在php代码上进行抓取:

<form action="test.php" target="_blank" method="POST">

  <input type="text" maxlength="10" name="number" minlength="9" id="number">

  <input type="text" maxlength="1" name="last" id="last">

  <input type="submit" value="APPLY CHANGES" onclick="return FillTextBox()">
</form>
  相关解决方案