Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Подтверждение перед выполнением действия формы
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Подтверждение перед выполнением действия формы

Страниц (1): [1]
 

1. Altynayka - 28 Марта, 2008 - 05:45:58 - перейти к сообщению
Здравствуйте, подскажите пожалуйста, как правильно на javascript написать подтверждение перед выполнением действия формы , т.е. мне надо выполнить действие по нажатию кнопки, при этом я передаю данные на другую пхп страничку. Хотелось бы, чтобы при нажатии на кнопку выходило окошечко с вопросм о подтверждении каког-либо действия. Написала следующее:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <script language=\"JavaScript\">
  3. function conf()
  4. {
  5. if (confirm ('Вы действительно …?')) {
  6. window.open (\"delete.php\") };
  7. }
  8. </script>
  9.  

дальше в теле:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <input type=button value=\"Удалить...\"  onclick=\"javascript:conf()\">";
  3.  
  4.  

Проблема в том, что у меня сразу выполняется переход на страницуdelete.php, без выполнения этого скрипта. Что я сделала не так?
2. son - 28 Марта, 2008 - 09:21:28 - перейти к сообщению
Все должно работать, проверьте, не отключен ли у вас в браузере JS
3. EuGen - 28 Марта, 2008 - 09:32:18 - перейти к сообщению
Делаете так:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. funtion new_func()
  4. {
  5.    //Ваша обработка тут
  6. }
  7. </script>
  8. <form action="your_script.php" onSubmit="return new_func();">
  9. </form>
  10.  

Определение полей формы - за Вами. Скажу так же, что если new_func вернет false, то передача параметров скрипту не состоится (это полезно, если нужно, например, проверить правильность ввода на стороне клиента, не загружая скрипт).
4. Altynayka - 31 Марта, 2008 - 05:22:33 - перейти к сообщению
EuGen

не обрабатывает все равно.
Сразу выполняет действие.
что значит "определение полей формы"?

а обработка:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. {
  3. if (confirm ('Вы действительно …?')) {
  4. window.open (\"delete.php\") };
  5. }

она правильная?
5. EuGen - 31 Марта, 2008 - 10:22:33 - перейти к сообщению
Я предлагал сделать так (если Вы хотите сделать удаление) - возвращать true если пользователь сказал "Да", ну или false в обратном случае. А если Вы в этой функции будете безусловно делать window.open(), то конечно ничего не будет правильно работать. Это будет выглядеть так:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3. funtion new_func()
  4. {
  5.    return confirm("Вы действительно …?");
  6. }
  7. </script>
  8. <form action="your_script.php" onSubmit="return new_func();">
  9. </form>
  10.  
6. Altynayka - 31 Марта, 2008 - 13:55:04 - перейти к сообщению
EuGen
Мне действительно надо, чтобы при "Да" выполнялось действие, при "Нет" не выполнялось.
При нажатии кнопкивыполнить, дейсвие не запрашивается, а сразу выполняется , при
том , что я сделала как вы сказали послед.раз.
но не выходит. может дело в другом?
7. EuGen - 31 Марта, 2008 - 14:16:14 - перейти к сообщению
Это странно. Потому что этот код рабочий. Приведите, пожалуйста, весь код, который получается у Вас, возможно, мы что-то упускаем из виду.
8. Altynayka - 01 Апреля, 2008 - 06:05:59 - перейти к сообщению
EuGen
спасибо заработало. может у меня был какой-то глюк.
С утра запустила получилось. невероятно.
9. Altynayka - 23 Апреля, 2008 - 08:57:03 - перейти к сообщению
Скажите пожалуйста, можно ли написать функцию, которая вместе с проверкой на подтверждение, будет делать проверку на содержание полей. пыталась написать кое-что, думаю, что неправильно, по крайней не обрабатывает.
CODE (text):
скопировать код в буфер обмена
  1.  
  2.  
  3. <html>
  4. <head>
  5. <title></title>
  6.         <meta http-equiv="Content-Type" content="text/html;charset=windows-1251"; />
  7.  
  8. <script type="text/javascript">
  9. function adding()
  10. {
  11. return confirm ('Вы действительно хотите добавить запись?');
  12. }
  13. </script>
  14. <script type="text/javascript">
  15. function frmonsubmit() {
  16.                 var t1=document.getElementById('btnSubmit');
  17.                 t1.disabled = true;
  18.                 var t = document.getElementById('frm');
  19.  
  20.                 var bErr = false;
  21.                
  22.                 if (!bErr & t.txtRnomer.value.trim()==""){
  23.                         alert ("Введите Рег. номер!");
  24.                         t.txtRnomer.focus();
  25.                         bErr = true;
  26.                 }
  27.                 if (!bErr & t.txtDate.value.trim()==""){
  28.                         alert ("Введите дату регистрации");
  29.                         t.txtDate.focus();
  30.                         bErr = true;
  31.                 }
  32.                 if (!bErr) t.submit()
  33.                 else t1.disabled = false;
  34.  
  35.         }
  36.  
  37.  
  38. </script>
  39. </head>
  40. <body><table width="820">
  41.  
  42. <form action="edit.php" onSubmit="return adding();" method="POST">
  43. <tr><td>Дата регистрации:</td>
  44. <td><input align="right" style="font-size:9px" type="text" id="txtDate" name="add_date"  size=15  maxlength=10 /><br></td>
  45. </tr>
  46. <tr><td>Регистрационный номер:</td>
  47. <td ><input align="right" style="font-size:9px" type="text" name="add_rnomer" id="txtRnomer" size=50  maxlength=100  /><br></td>
  48. </tr>
  49.  
  50. <tr><td align="left"><br><input type=submit id="btnSubmit" value="Добавить" onClick="frmonsubmit()" ></td></tr>
  51. </form> </td></tr>
  52. </table>
  53. </body>
  54. </html>
  55.  
10. valenok - 23 Апреля, 2008 - 13:20:46 - перейти к сообщению
Можно

function frmonsubmit() {

if(!fвсе_ваши_проверки) return false;
if(!fвсе_ваши_проверки) return false;
if(!fвсе_ваши_проверки) return false;
...
if(!fвсе_ваши_проверки) return false;

if( !confirm('?') ) return false;
form.submit(); return true;
}
11. Altynayka - 24 Апреля, 2008 - 05:09:18 - перейти к сообщению
valenok спасибо ,большое,разобралась.

 

Powered by ExBB FM 1.0 RC1