#javascript #asp.net
#javascript #asp.net
Вопрос:
У меня есть страница aspx, и внутри я вызвал страницу .ascx, которая является корзиной покупок, на странице aspx у меня есть много ссылок на книги, и мы можем добавлять книги в корзину покупок. При нажатии кнопки добавить я сохраняю идентификатор книги, название, цену в файле cookie, а на странице ascx я получаю копию и вставляю значение в корзину покупок, используя переменную сеанса, все работает нормально..Код выглядит примерно так .. при нажатии кнопки добавить btn я вызываю эту функцию javascript
function addCookies(typeShopping,id,name,price) {
document.cookie = typeShopping "=" id "," name "," price;
}
Но после этого я должен сделать ответную публикацию, чтобы страница ascx загрузилась и добавила эту информацию в корзину покупок. итак, btn, который вызывает эту функцию, выглядит следующим образом..
<a onclick="addCookies('ShoppingCart',1, 'A summary of the Creed....' ,25);"href=".../ShowBooks.aspx?CategoryName=Qur'anamp;Mushafamp;CatID=1" </a>
но это, как вы видите, приводит к возврату страницы, и хотя товар добавляется в корзину покупок, я перемещаюсь наверх, как я могу это сделать, я просто нажимаю, и товар добавляется, а страница не отправляется обратно, и я остаюсь в той же книге.
Ответ №1:
Вам нужно return false;
из onclick
обработчика запретить браузеру выполнять действие по умолчанию.
Комментарии:
1. извините, я плохо разбираюсь в Java script, должен ли я просто выполнить эту функцию addCookies (typeShopping, id, name, price) { document.cookie = typeShopping «=» id «, » name «, » price; // aspnetForm.reset(); оповещение («проверить сейчас»); возвращает false; } Поскольку оно не работает, страница продолжает отправлять ответ
2. Нет. Вам нужно
return
вonclick=""
, и вам нужно изучить Javascript.3. да, он работает хорошо, но теперь страница ascx не загружается: (есть предложения, есть ли какой-либо способ, чтобы после выполнения этой функции я вызывал страницу ascx для загрузки, что решит все
4. Вы просто попросили, чтобы он не загружался. Ты получил то, о чем просил. Вам также необходимо изучить AJAX.
5. нет- нет , я хочу , чтобы он загрузился, но без обратной отправки любым способом для этого
Ответ №2:
Вам нужно будет указать методу addCookies, чтобы return false;
после выполнения необходимых операций. Это остановит действие ссылки.
function addCookies(typeShopping,id,name,price) {
document.cookie = typeShopping "=" id "," name "," price;
return false;
}
Комментарии:
1. я сделал это, но все равно после этого происходит обратная отправка и обновление страницы, и я снова попадаю на вершину
2. как указывает @SLaks в своем ответе, вам нужно будет поместить значение retun false внутри значения атрибута onclick.