09/10/2018, 23:53

Hủy bỏ submit bằng javascript

Chào các bạn ! Mình đang viết một ứng dụng web. có một usecase là khi mình submit form chẳng hạn như login, nhưng sau đó hủy bỏ submit. Vậy trong javascript là như thế nào mong các bạn giúp. thanks !
extjs viết 02:07 ngày 10/10/2018
Là sao bạn nói rõ hơn 1 tý được không ?
Thân
wood1903 viết 02:08 ngày 10/10/2018
Cái button Submit của bạn gọi 1 function trong Javascript để validation chẳng hạn. Nếu bạn muốn ngăn sự kiện Submit này thì function này của bạn chỉ cần return false là xong.
ngappppp viết 02:04 ngày 10/10/2018
đại loại thế này (đây chỉ là cách của mình):

Đây là form:

<form name="example">
...
<input type="button" value="Submit" onclick="check()">
</form>
Đây là JavaScript:
function check() {
if (điều kiệu gì đó) {
document.example.submit();
}
}
Nhìn chung là cách này cũng tương tự như cách return false mà bạn wood1903 nói. Nếu thỏa điều kiện thì cho submit, còn nếu không thỏa điều kiện thì thôi hoặc làm gì đó tùy bạn.
boygiandi viết 01:54 ngày 10/10/2018
Làm như trên thi` bị mất 1 chức năng của nút submit đó là chỉ cần nhấn Enter thì form submit .
Thường người ta viết thế này nè
Code:
<form name="example" onsubmit="check();">
...
<input type="submit" value="Submit">
</form>
extjs viết 02:06 ngày 10/10/2018
Quote Được gửi bởi boygiandi View Post
Làm như trên thi` bị mất 1 chức năng của nút submit đó là chỉ cần nhấn Enter thì form submit .
Thường người ta viết thế này nè
Code:
<form name="example" onsubmit="check();">
...
<input type="submit" value="Submit">
</form>
Cái này cũng như vậy thôi
Các bạn quên 1 từ khóa rất quan trọng đó là return ở cả 2 cách sau khi phát hiện dữ liệu không hợp lệ sẽ hiện lên thông báo rồi .. gửi dữ liệu đó đi luôn
Bạn chỉ cần thêm vào
PHP Code:
onclick="return check();" 
hoặc
PHP Code:
onSubmit="return check();" 
Thân
Nổ viết 01:59 ngày 10/10/2018
làm như cách boygiandi thì trong hàm check() kiểm tra xong nếu không hợp lệ thì trả về submit false.

còn cách của ngappppp thì hàm check() kiểm tra xong nếu hợp lệ thì submit.

Mỗi người một vẻ. Cách nào cũng có lý của nó.

cái chức năng "chỉ cần nhấn Enter thì form submit" ở đây không quan trọng lắm vì người mở topic muốn kiểm tra cái gì đó trước khi submit hoặc không submit mà.
Nổ viết 02:06 ngày 10/10/2018
Quote Được gửi bởi extjs View Post
Các bạn quên 1 từ khóa rất quan trọng đó là return ở cả 2 cách sau khi phát hiện dữ liệu không hợp lệ sẽ hiện lên thông báo rồi .. gửi dữ liệu đó đi luôn
Đó là cách của boygiandi mới như vậy.Còn cách của ngappppp thì chỉ kiểm tra xong hợp lệ mới gửi đi mà.

Cách của ngappppp thì onclick="check()" cũng đồng nghĩa với onclick="return check()".
Cách của boygiandi mới thực sự cần dùng return. Bởi vì cách của boygiandi thì cái button chính là submit, còn cách của ngappppp thì cái button thì chỉ là 1 cái nút gọi function thôi.
boygiandi: <input type="submit" value="Submit">
ngappppp: <input type="button" value="Submit" onclick="check()">
extjs viết 01:53 ngày 10/10/2018
Quote Được gửi bởi Nổ View Post
Đó là cách của boygiandi mới như vậy.Còn cách của ngappppp thì chỉ kiểm tra xong hợp lệ mới gửi đi mà.

Cách của ngappppp thì onclick="check()" cũng đồng nghĩa với onclick="return check()".
Cách của boygiandi mới thực sự cần dùng return. Bởi vì cách của boygiandi thì cái button chính là submit, còn cách của ngappppp thì cái button thì chỉ là 1 cái nút gọi function thôi.
Không tin thì cứ chạy thử !
Thân
p/s : Nguyên nhân là khi gọi hàm check nó trả về 1 biến boolean có giá trị là false và biến đó không có nghĩ gì trong quá trình submit hết chỉ có lời gọi return false (return check()) mới có nghĩa bảo quá trình submit dừng lại!
Nổ viết 01:56 ngày 10/10/2018
Quote Được gửi bởi extjs View Post
Không tin thì cứ chạy thử !
Thân
Mình đã thử cả 2 cách rồi.
Cách của boygiandi dùng <input type="submit" value="Submit"> thì nhấp vào nó sẽ gửi đi luôn, kiểm tra thế nào nó cũng gửi. Tức là điều kiện đúng sai gì nó cũng gửi hết (mình thử không dùng return).
Còn cách của ngappppp thì chỉ kiểm tra điều kiện đúng nó mới gửi. Tức là nếu điều kiện không đúng thì nó không gửi.
Bài liên quan
0