javascript 为不带值的HTML标记的输入按钮赋予不同的值

n9vozmp4  于 2023-02-15  发布在  Java
关注(0)|答案(1)|浏览(130)

我正在使用Wordpress中的UserWP插件,在我的注册页面上,我有一个表格和一个按钮,上面写着“提交查询”--这不是最好的文本。
设置中没有更改按钮文本的选项,因此尝试使用另一种方法。
按钮的HTML字符串为:

<input type="submit" name="uwp_register_submit" class="form-control btn btn-primary btn-block text-uppercase uwp_register_submit">

因此,文本没有“价值”。
我的目标是将value=“Register”“inject”到HTML字符串中,我相信这可以用JavaScript代码段来实现,但我不是JS的最佳使用者,我正在努力实现它。
大量的谷歌搜索发现了一些JS代码,它在标识符中找到一个文本字符串并替换它,但我似乎无法让它工作。

const button = document.querySelector('input');

button.addEventListener('click', updateButton);

function updateButton() {
  if (button.value === '') {
    button.value = 'Register';
  }
}

我意识到这只会在点击时生效,所以当按钮被按下时。所以尝试了如下操作:

const button = document.querySelector('input');

if (button.value === '') {
    button.value = 'Register';
  }

同样,没有成功。
我还看到了一些关于使用jquery的东西,所以尝试了下面的操作,但没有成功。

$('.btn').val('Register');

我只想定位按钮的类并告诉它给予一个值“Register”-我敢打赌这对某些人来说是一个简单的解决方案,但对我来说不是...

u5rb5r59

u5rb5r591#

通常,您可以通过获取元素并尝试设置值来实现这一点。
但是document.querySelector('input');行返回第一个匹配的元素back。
因此,如果有多个输入字段,它将接受第一个输入,这可能不是您的提交输入。
另一种方法是搜索输入字段的特定名称。

document.addEventListener("DOMContentLoaded", function(event) {
   document.querySelector("[name='uwp_register_submit']").value = "Register";
});

如果该字段存在多次,请使用querySelectorAll并将其与循环组合。
在你的特定情况下,改变默认的英语翻译可能是更好的方法。看看documentation。它看起来更复杂。

相关问题