10/10/2018, 10:04

Hỏi về truyền masp mà không cần dùng a href

Các bạn cho mình hỏi câu này cái.

Bạn nào biết cách nào mà không cần dùng a href mà vẫn truyền được masp qua trang khác khi click vào một nút hay hình sp đó
stevetoan viết 12:10 ngày 10/10/2018
Bạn dùng phương thức POST, submit form thì có thể

Chúc thành công
thuyduongcd viết 12:05 ngày 10/10/2018
truyền masp là truyền cái gì
tuanhaikh viết 12:11 ngày 10/10/2018
Bạn có thể gợi ý thêm cho mình thêm về code được không mình viết bằng asp.net

[=========> Bổ sung bài viết <=========]

Vd: Mình có một trang sản phẩm sô sp ra mõi sp có 1 masp. Bên dưới mình có một nút kiểu như nút mua hàng của giỏ hàng. Khi click vào nút thì truyền masp của sp đó đi nhưng không được dùng a href mình viết bằng asp.net. Bạn có cách nào k?
rainnerz viết 12:15 ngày 10/10/2018
bắt sự kiện onclick rồi location.assign(<điền url vào đây>);
thuyduongcd viết 12:20 ngày 10/10/2018
bắt sự kiện onclick rồi location.assign(<điền url vào đây>);
=> cũng như không

Muốn làm được như vậy thì dùng ajax. Đại loại thế này
Code:
<a onclick="javascript:addbasket('masp')">thêm vào giỏ hàng</a>
Xong viết 1 hàm js addbasket(). Hàm này sẽ dùng đối tượng HttpRequest để gọi 1 trang (asp.net) trên server xử lý (thêm sản phẩm vào giỏ hàng). Xử lý xong trả kết quả về cho hàm vừa gọi (addbasket). Hàm này nhận kết quả công việc và cập nhật trong khung hiển thị (document.obj.innerHTML="result")
Vì không biết phương thức xử lý giỏ hàng của bạn như thế nào nên chỉ có thể hướng dẫn ậy thôi. Tự tìm hiểu thêm đi nhé
tuanhaikh viết 12:05 ngày 10/10/2018
Hàm js addbasket() viết như thế nào bạn.gợi ý thêm cho mình được k?

Giỏ hàng của mình viết theo kiểu không đăng ký thành viên. tức khi kh mở trang web lên mình viết code cho tự động cấp cho kh đó 1 makh cứ mỏi lần click thì căn cứ vào masp truyền đi để phân biết là sử dụng insert hay updae, nếu cùng makh-cùng masp thì tiến hành update còn lại thì insert.

bạn giúp dùm mình chổ này nhé.
thuyduongcd viết 12:06 ngày 10/10/2018
Code:
function addbasket(masp)
{
      var http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }

      http_request.onreadystatechange = function(){
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
             var result=http_request.responseText;
             if ((result!="")&&(callback!="")){

                //kết quả trả về trong biến result
                // tùy vào kết quả mà xử lý
                
             }
         } else {
            alert('There was a problem with the request.');
         }
      }
      };
      var parameters="masp="+masp; 
      http_request.open('POST', 'add_product.aspx', true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
}
Khi gọi hàm này, nó sẽ gọi trang add_product.aspx. Trang này dùng POST để lấy masp. Xong, thực hiện thao tác thêm sản phẩm như bình thường. Nếu thêm thành công thì trả về tổng số sản phẩm, ngược lại thì trả về chuỗi báo lỗi (nằm trong biến result)
tuanhaikh viết 12:16 ngày 10/10/2018
Cảm ơn bạn. Mình chưa rỏ lắm nhưng để mình mày mò thử xem. có gì mình hỏi lại nhé
ntvu viết 12:17 ngày 10/10/2018
Bạn làm giỏ hàng àh?
Sao ko sử dụng luôn session cho nhanh? Có phải dễ hơn không
Bài liên quan
0