JS изменялся ли элемент формы Select
Здравствуйте.
Необходимо на форме проверить изменял ли пользователь элемент формы типа Select. Как это сделать? p.s. пробовал так
<select NAME="TEXT_FREQUENCY_TYPE_${row.ID}">
<option SELECTED VALUE="${row.FREQUENCY_TYPE}">${row.FREQUENCY_TYPE}</option>
</select>
<script>
function GetValue () {
var result = [];
[].forEach.call(document.querySelector('form').elements, function (el) {
if (['checkbox', 'radio', 'button', 'submit'].indexOf(el.type) === -1 || el.checked)
{
var defValue = el.defaultValue;
var currvalue = el.value;
if (defValue == currvalue) {
result.push(el.name + ' :: ' + el.value+' :: '+" Значение не изменилось");
} else {
result.push(el.name + ' :: ' + el.value+' :: '+" Значение изменилось с " + defValue +
"\n на " + currvalue);
}
</script>
результат: TEXT_FREQUENCY_TYPE_1 :: Минут :: Значение изменилось с undefined на Минут |
drno-reg,
если изначально selectedIndex=0
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<form action="http://">
<select name="" id="" onchange=""><option>1</option><option>2</option></select>
<input name="text"><input name="data">
</form>
<script>
function GetValue () {
var result = [];
[].forEach.call(document.querySelector('form').elements, function (el) {
if (['checkbox', 'radio', 'button', 'submit'].indexOf(el.type) === -1 || el.checked)
{
var defValue = el.defaultValue ;
var currvalue = el.value;
var index = el.selectedIndex;
if (index) defValue = el.options[0].value;
if (defValue == currvalue || index === 0) {
result.push(el.name + ' :: ' + el.value+' :: '+" Значение не изменилось");
} else {
result.push(el.name + ' :: ' + el.value+' :: '+" Значение изменилось с " + defValue +
"\n на " + currvalue);
} }
})
alert(result)
}
window.setTimeout(GetValue, 5000)
</script>
</body>
</html>
|
Большое спасибо.
Именно то, что нужно. Я начинающий пользователь информационного ресурса http://javascript.ru/. Есть ли возможность отметить Ваш ответ решением вопроса? |
drno-reg,
можно только карму изменить под ником в сообщении где нужный вам код |
| Часовой пояс GMT +3, время: 06:26. |