У меня есть HTML-форма, содержащая кнопку textarea и submit. и скрипт JS, который принимает значение textarea.значение textarea возвращено пусто
Проблема, с которой я столкнулся, - это когда я печатаю текст в текстовое поле и нажимаю submit, значение textarea пусто. ОДНАКО, если я жестко кодирую текст в текстовое поле, возвращается твердое значение. Если я стираю твердое значение и удаляю жестко закодированное значение и набираю свой собственный, , то жестко запрограммированная долина все еще возвращается.
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="js/jquery/jquery-1.9.1.min.js"></script>
<script src="contentForm.js"></script>
</head>
<body>
<form method="post" >
<textarea name ="editor" id="editBox" rows="5" cols="2">type</textarea>
<p><input type="submit" id="submit" value="Submit"></p>
</form>
</body>
</html>
JS
function add() {
$("#submit").click(function() {
var message = "start js";
console.log(message);
var contents = $("textarea").val();
if(contents === undefined) {
console.log("contents undefined");
}
console.log(contents);
var item = {"id":"12", "content": contents};
var obj = JSON.stringify(item);
var obj2 = JSON.parse(obj);
console.log(obj2.id);
console.log(obj2.content);
});
}
$(document).ready(function() {
add();
});
Обратите внимание, как выше текстовое поле имеет "тип" предустановленным. Это возвращаемое значение. Если я оставлю его пустым, введите свой собственный текст в форме и нажмите «Отправить», в окне консоли отображается пустое значение содержимого.
Я пробовал это, а также (с помощью текстового идентификатора)
var contents = $("#editBox").val();
Я предполагаю, что этот вопрос лежит POST. Потому что, когда я нажимаю enter, текст, который я ввел, заменяется на «type» (предварительно загруженный текст).
Может ли POST вмешиваться в него? Как еще я могу найти значение?
@Joe - 'val()' будет работать нормально. – tymeJV
nope. Тот же вопрос. – user2615490
Передать 'event' в ваш обработчик кликов и отменить действие по умолчанию:' $ ("# submit"). Click (function (event) {event.preventDefault(); ...} ' – tymeJV