Can';t使用JavaScript更改表单输入值

Can';t使用JavaScript更改表单输入值,javascript,jquery,forms,input,Javascript,Jquery,Forms,Input,我试图在我的表单上实现一个简单的反垃圾邮件字段,其中服务器生成一个随机字符串,将其发送给用户,然后JavaScript在提交之前反转该字符串。如果字符串不匹配,提交将作为垃圾邮件丢弃。问题是我似乎无法让JavaScript或jQuery反转输入值 $(document.ready(function() { var reverse = $('#simple').val().split("").reverse().join(""); document.getElementByI

我试图在我的表单上实现一个简单的反垃圾邮件字段,其中服务器生成一个随机字符串,将其发送给用户,然后JavaScript在提交之前反转该字符串。如果字符串不匹配,提交将作为垃圾邮件丢弃。问题是我似乎无法让JavaScript或jQuery反转输入值

   $(document.ready(function() {
    var reverse = $('#simple').val().split("").reverse().join("");
    document.getElementById('simple').setAttribute('value', reverse);
}))
使用

$('#simple').val(reverse);
而setAttribute方法也会失败

输入字段本身是:

        <input type="text" id="simple" name="simple" value="abcde" />

jQuery被包括在内,如果我通过开发者工具控制台输入相同的代码,我可以得到反向的输入值,但是页面本身不工作。谢谢

$('#simple').val(反向)simple
是唯一的,则code>应该可以工作。(没有其他具有相同id的对象)。您还可以使用
$('input[name=simple]').val(反向)

var test= document.getElementById("mytext");
test.value = "My default value";

选中此项

您在document ready回调中有一个错误,除了它是正常的之外

$(文档).ready(函数(){
//^需要在此处关闭括号
var reverse=$('#simple').val().split(“”).reverse().join(“”);
$('#simple').val(反向)
//或document.getElementById('simple').setAttribute('value',reverse);
})

setAttribute('value',reverse)
是问题所在,您想要的是道具,而不是属性
$(document.ready(function() {
    var reverse = $('#simple').val().split("").reverse().join("");
    document.getElementById('simple').value =  reverse;
});