Я выполняю широкую проверку данных по одной кнопке, мой код находится на кнопке добавления данных,
- и та же кнопка нажимается на странице просмотра для добавления новых данных, когда ее имя - «Добавить», имя изменяется для сохранения, поля очищаются и открываются для редактирования,
- если пользователь нажимает «Сохранить» и все данные введены правильно , данные будут записаны в БД.
- если данных недостаточно и пользователь нажал здесь «Сохранить», мне нужна подсказка, если пользователь забыл некоторые данные и хочет продолжить, ему будет предложено
он нажмет кнопку «Отмена» и вернется, чтобы продолжить добавление данных.
- но если пользователь не хочет завершать добавление новых данных, он нажмет кнопку окей, сообщение об отмене всего процесса
оригинал:
в моем asp .net-странице я хочу убедиться, что пользователь подтвердил действие, которое необходимо предпринять,
поэтому я добавил на главную страницу скрипт с функцией подтверждать(), которая сохраняет значение для скрытого ввода,Проблема:
Когда пользователь взаимодействует, нажимая «ОК» или «Отмена» в сообщении, он фактически возвращает ранее заданное значение, а не текущее значение.
Если пользователь нажимает «Отменить», и предыдущее действие было ОК, сообщение возвращает ОК, а не отмену
на главной странице:
function Confirm(msg) {
var form = document.forms[0];
// Remove the previous element added
var oldInput = document.getElementById('myInput');
if (oldInput !== null) form.removeChild(oldInput);
// Add a new element
var confirm_value = document.createElement("myInput");
confirm_value.setAttribute('id', 'myInput');
confirm_value.type = "hidden";
confirm_value.name = "confirm_value";
if (confirm(msg)) {
confirm_value.value = "Yes";
} else {
confirm_value.value = "No";
}
form.appendChild(confirm_value);
}
в текущей странице.aspx.cs, где требуется действие пользователя, после проверки пустых полей и отображения сообщения пользователю:
ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "confbkadd", "Confirm('" + "not all mandatory data where entered , click cancel to return or ok to end" + "');", true);
а затем непосредственно проверьте ответ после сообщения:
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == "No")
{
confirmValue = "";
return;
}
else
{
confirmValue = "";
lblmessage.Text = "entered data where not saved";
}
Подробнее здесь: https://stackoverflow.com/questions/755 ... el-message
Мобильная версия