Formulir JavaScript Kirim - Konfirmasi atau Batalkan Kotak Dialog Submission

183

Untuk formulir sederhana dengan peringatan yang menanyakan apakah bidang diisi dengan benar, saya memerlukan fungsi yang melakukan ini:

  • Memperlihatkan kotak peringatan ketika tombol diklik dengan dua opsi:

    • Jika "OK" diklik, formulir dikirimkan
    • Jika batal diklik, kotak peringatan ditutup dan formulir dapat disesuaikan dan dikirim kembali

Saya pikir konfirmasi JavaScript akan berfungsi, tetapi sepertinya saya tidak tahu caranya.

Kode yang saya miliki sekarang adalah:

function show_alert() {
  alert("xxxxxx");
}
<form>
  <input type="image" src="xxx" border="0" name="submit" onclick="show_alert();" alt="PayPal - The safer, easier way to pay online!" value="Submit">
</form>

matt
sumber

Jawaban:

399

Konfirmasi JavaScript inline sederhana sudah cukup:

<form onsubmit="return confirm('Do you really want to submit the form?');">

Tidak perlu untuk fungsi eksternal kecuali jika Anda melakukan validasi , yang dapat Anda lakukan seperti ini:

<script>
function validate(form) {

    // validation code here ...


    if(!valid) {
        alert('Please correct the errors in the form!');
        return false;
    }
    else {
        return confirm('Do you really want to submit the form?');
    }
}
</script>
<form onsubmit="return validate(this);">
Samuel Liew
sumber
28

Masalah yang ditunjukkan dalam komentar itu valid, jadi di sini ada revisi berbeda yang kebal terhadap itu:

function show_alert() {
  if(!confirm("Do you really want to do this?")) {
    return false;
  }
  this.form.submit();
}
Majid Fouladpour
sumber
25

Anda bisa menggunakan fungsi konfirmasi JS.

<form onSubmit="if(!confirm('Is the form filled out correctly?')){return false;}">
  <input type="submit" />
</form>

http://jsfiddle.net/jasongennaro/DBHEz/

Jason Gennaro
sumber
27
onsubmit="return confirm('Is the form filled out correctly?');"akan jauh lebih sederhana, dan hasilnya akan sama.
Sk8erPeter
3

Sederhana dan mudah :

<form onSubmit="return confirm('Do you want to submit?') ">
  <input type="submit" />
</form>

Pablo Salazar
sumber
2

OK, ubah saja kode Anda menjadi seperti ini:

<script>
function submit() {
   return confirm('Do you really want to submit the form?');
}
</script>

<form onsubmit="return submit(this);">
   <input type="image" src="xxx" border="0" name="submit" onclick="show_alert();"
      alt="PayPal - The safer, easier way to pay online!" value="Submit">
</form>

Juga ini adalah kode yang sedang berjalan, hanya saya membuatnya lebih mudah untuk melihat cara kerjanya, jalankan saja kode di bawah ini untuk melihat hasilnya:

function submitForm() {
  return confirm('Do you really want to submit the form?');
}
<form onsubmit="return submitForm(this);">
  <input type="text" border="0" name="submit" />
  <button value="submit">submit</button>
</form>

Alireza
sumber
0

Jika Anda ingin menerapkan beberapa kondisi pada formulir kirim maka Anda dapat menggunakan metode ini

<form onsubmit="return checkEmpData();" method="post" action="process.html">
  <input type="text" border="0" name="submit" />
  <button value="submit">submit</button>
</form>

Satu hal yang selalu diingat bahwa atribut metode dan tindakan menulis setelah mengirimkan atribut

kode javascript

function checkEmpData()
{
  var a = 0;

  if(a != 0)
  {
    return confirm("Do you want to generate attendance?");
  }
   else
   {
      alert('Please Select Employee First');
      return false;
   }  
}
Sumit Kumar Gupta
sumber