2015-02-22 3 views
1

Я пытаюсь реализовать простую область защиты от спама в моей форме, где сервер генерирует случайную строку, отправляет ее пользователю, а затем JavaScript меняет строку перед отправкой ее , Если строка не соответствует, представление отбрасывается как спам. Проблема в том, что я не могу заставить JavaScript или jQuery изменить значение ввода.Невозможно изменить значение ввода формы с помощью JavaScript

$(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 в настоящее время включен, и я могу получить значение входного сигнала на обратное, если я печатаю в том же коде через консоль инструментов для разработчиков, но сама страница не Работа. Благодаря!

+0

'SetAttribute ('значение ', reverse) 'является проблемой, вам нужна поддержка, а не атрибут – dandavis

ответ

1

У вас ошибка в документе готового обратного вызова, кроме того, что это прекрасно

$(document).ready(function() { 
 
    // ^need to close the parenthesis here 
 
    var reverse = $('#simple').val().split("").reverse().join(""); 
 
    $('#simple').val(reverse) 
 
    //or document.getElementById('simple').setAttribute('value', reverse); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input type="text" id="simple" name="simple" value="abcde" />

0
var test= document.getElementById("mytext"); 
test.value = "My default value"; 
1
$(document.ready(function() { 
    var reverse = $('#simple').val().split("").reverse().join(""); 
    document.getElementById('simple').value = reverse; 
}); 
+0

См. этот jsFiddle, который доказывает работу ответа void: http://jsfiddle.net/ctvd33y4/ – gibberish

0

$('#simple').val(reverse); должен работать, если идентификатор simple уникален. (Никакие другие объекты с одинаковым идентификатором). Также вы можете использовать $('input[name=simple]').val(reverse);

Проверить это jQuery change input text value

Смежные вопросы