Надіслати форму JavaScript - підтвердити або скасувати діалогове вікно подання


183

Для простої форми з попередженням, яка запитує, чи правильно заповнено поля, мені потрібна функція, яка робить це:

  • Показує вікно попередження, коли натискається кнопка з двома параметрами:

    • Якщо натиснути кнопку «ОК», форма надсилається
    • Якщо натиснути кнопку Скасувати, поле сповіщення закриється, і форму можна змінити та повторно надіслати

Я думаю, що підтвердження JavaScript буде працювати, але я не можу зрозуміти, як це зробити.

Зараз у мене код:

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>

Відповіді:


397

Достатньо простого вбудованого підтвердження JavaScript :

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

Немає необхідності у зовнішній функції, якщо ви не виконуєте перевірку , яку ви можете зробити так:

<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);">

28

Питання, вказане в коментарі, є дійсним, тому тут є інша редакція, яка не захищена від цього:

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

25

Ви можете використовувати функцію підтвердження JS.

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

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


27
onsubmit="return confirm('Is the form filled out correctly?');"було б набагато простіше, і результат був би таким же.
Sk8erPeter


2

Гаразд, просто змініть свій код на щось подібне:

<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>

Також цей код запущений, я просто полегшу побачити, як він працює, просто запустіть код нижче, щоб побачити результат:

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>


0

Якщо ви хочете застосувати якусь умову надіслати форму, ви можете скористатися цим методом

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

Завжди майте на увазі, що атрибут методу та дії записується після атрибутів onsubmit

код 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;
   }  
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.