Nehru Gunter Ответов: 1

Dropdownlist выбранное значение не сохраняет выбранное значение из-за javascript


Как я могу вставить значение в базу данных с помощью элемента раскрывающегося списка, я хочу выбрать элемент, а затем, когда я нажимаю кнопку отправки, числовое значение будет сохранено в базе данных sql server с использованием кода asp.net vb.net, проблема в том, что он всегда сохраняет 0 в базе данных sqlserver, даже если я выбрал 1, 2, 3 или 4, проблема заключается в javascript, если я удалю javascript, он может выбрать значение, которое я хочу, и нет проблем, но мне нужно его отключить значение, если оно уже выбрано, чтобы избежать дублирования в базе данных, может ли кто-нибудь помочь мне разобраться в javascript, если я попытаюсь нажать кнопку сохранения, вы увидите, что раскрывающийся список возвращается к значению по умолчанию 0, затем сбрасывается, а не сохранение значения, которое я выбрал из раскрывающегося списка, спасибо ....

Что я уже пробовал:

&ЛТ;%@ страницы язык=значение"VB" AutoEventWireup значение="ложь" CodeFile="по умолчанию.aspx-файл.ВБ"
Inherits=" _Default "Debug=" true " %>

<!DOCTYPE html>

< html xmlns="http://www.w3.org/1999/xhtml" >
&ЛТ;глава атрибут runat="сервер"и GT;

в <название&ГТ;&ЛТ;/название&ГТ;
< / head>
& lt;тело>

&ЛТ;форме ID="форма form1" атрибут runat="сервер"и GT;

&ЛТ;как ASP:dropdownlist с ИД = "фрст" атрибут runat="сервер" autopostback элемента управления="правда"и GT;
< asp:listitem value= " 0 " & gt;Select
< asp:listitem value="1"> 1
< asp:listitem value="2"> 2
< asp:listitem value="3"> 3
< asp:listitem value="4"> 4

&ЛТ;как ASP:dropdownlist с ИД = "secnd" атрибут runat="сервер"и GT;
< asp:listitem value= " 0 " & gt;Select
< asp:listitem value="1"> 1
< asp:listitem value="2"> 2
< asp:listitem value="3"> 3
< asp:listitem value="4"> 4



<asp: Button ID= "btnSave" runat=" server "Text=" Save"
OnClick= "btnSave_Click" />
&ЛТ;АСП:метка идентификатор="lblmsg" атрибут runat="сервер"и GT;



< script type= "text/javascript">
var ids = ['frst', 'secnd'];

Списке_узлов.прототип.по каждому элементу = уход.прототип.по каждому элементу =
Массив.прототип.по каждому элементу;
var selected = [];
ids = makeid(ids);
var opts = find(ids);
обновления (opts);
massdisabler(ОПЦ);
assignFunc(идентификаторы, дизейблер);

функция assignFunc (i, func) {//готово
var x;
для (x = 0; x < i. length; ++x) {
i[x]. onchange = функция () {
func (это);
};
}
}

дизейблер(мне) {
консоли.журнал(некоторые);
обновления (opts);
massdisabler(ОПЦ);
}

функция makeid (i) {//done
var o = [];
i. forEach(функция (v) {
о'.push-уведомление(документ.метода getElementById(в))
});
возвращение о';
}

функция find (ids) {//done
var o = {};
для (ВАР я = 0; Я &л; идентификаторы.длина; я ++) {
o[i] = {};
ids[i]. children. forEach(функция (v, n) {
o[i][n] = v;
});
}

возвращение о';
}

функция massdisabler (op) {//done
var y = Object. keys (op).length;
для (var x = 0; x < y; x++) {
var t = 0,
л = объект.ключи(ОПЦ[х]).длина;
для (var v = 0; v < l; v++) {
t = op[x][v];

если (выбран.некоторые(функция (к) {
если (t. value == k) {
вернуть true;
}
})) {
t. setAttribute ("disabled", " disabled");
} еще {
Т.removeattribute осуществляет("отключен");
}
}
}
}

обновления функций (op) {//готово
var s = [],
г = объект.ключи(ОП).длина;

для (var x = 0; x < y; x++) {

var t = 0,
л = объект.ключи(ОПЦ[х]).длина;

для (var v = 0; v < l; v++) {
t = op[x][v];
var yn = s. some (функция (k) {
если (t. value == k) {
вернуть true;
}
});
если (т.некоторые и усилитель; & (!уя)) ы.пуш(т. значение);
}
}
selected = s;
}
< / script>

< / форма>

< / body>
< / html>

Защищенные суб btnSave_Click(отправителя как объект, как EventArgs в)
Dim cs As String = ConfigurationManager.Выберите("конструктор").Параметр connectionString
Dim cn As SqlConnection = New SqlConnection(cs)
Дим УМК как sqlcommand объект = новый sqlcommand, который()
УМК.Соединение = cn
УМК.CommandType = CommandType. Text
УМК.CommandText = " вставить в имена значения (@FirstValue,@SecondValue)"
УМК.Параметры.Четкий()
УМК.Параметры.AddWithValue ("@FirstValue", frst.Элемент.Ценность)
УМК.Параметры.AddWithValue ("@SecondValue", secnd.Элемент.Ценность)
Если спицы.Государство = ConnectionState.Тогда Закрыто
спицы.Открыть()
Конец, Если
УМК.Метод executenonquery()
спицы.Рядом()
lblmsg.Text = " данные введены успешно!!!"

Конец Подводной Лодки

1 Ответов

Рейтинг:
1

Suvendu Shekhar Giri

Я не очень внимательно изучал ваш javascript-код, но могу предложить способ или обходной путь, который вы можете сказать. Это определенно не идеальный способ сделать это, но вы можете использовать его как обходной путь, пока люди не придумают лучшие предложения.

Добавить asp.net скрытое поле и установите значение 0. Установите для параметра Postback peoperty dropdownlist значение true. Затем на выбранном индексном измененном событии выпадающего списка установите значение на соответствующее выбранное значение. При вставке вы можете получить выбранное значение из этого скрытого поля.

Надеюсь, это поможет :)


Nehru Gunter

можете ли вы показать мне какой-нибудь пример, сэр, я просто хочу, чтобы 3 dropdownlist имел элементы списка 1,2,3,4, если я выбрал значение 1 или 2 или 3 или 4 из первого dropdownlist, он не может быть выбран через следующий dropdownlist, и он также будет отключен через следующий dropdownlist, так что я могу избежать дубликатов, вставленных в datbase с помощью asp.net vb.net код пожалуйста можете ли вы дать мне какой нибудь Пример Спасибо сэр

Suvendu Shekhar Giri

Я бы предложил написать код самостоятельно, и если вы столкнетесь с какой-либо проблемой/ошибкой, пожалуйста, дайте мне знать, чтобы я мог направлять вас дальше.

Nehru Gunter

Сэр, я отредактировал свой вопрос и включил весь javascript. проблема в том, что если я сохраню значение из выбранного значения из элемента dropdownlist, то все значение dropdownlist сбросится до значения по умолчанию 0, а не до значения, которое я выбрал из dropdownlist...но если я удалю этот javascript, я могу вставить значение, которое я выбрал из dropdownlist, но функция javascript должна отключить значение, которое я выбрал из предыдущего dropdownlist спасибо, сэр...

Nehru Gunter

это весь мой код, я включил код, стоящий за .aspx, сохраняя значение из базы данных..........

Nehru Gunter

Не могли бы вы мне помочь, сэр, я делаю это уже неделю, Спасибо..