Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zwykły <button> wysyła formularz :(
Forum PHP.pl > Forum > Po stronie przeglądarki
siutek
Witam,
nie mogę sobie poradzić z jednym problemem.

Mam na stronie formularz, który jest wysyłany przez <button type="submit">
Jednak pomiędzy znacznikami <form></form> mam jeszcze jeden przycisk <button> tym razem bez żadnego typu tylko z onClickiem. Niestety wciśnięcie go (nawet gdy usunę onClick) powoduje wysłanie formularza :/
Chciałbym by funkcja wywoływana w onClicku zmieniała action="" forma i wysyłała wszystkie dane właśnie tam.

Poniżej kod stronki:

  1.  
  2. <!DOCTYPE html>
  3. <html lang="pl-PL">
  4. <title>system administracyjny</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <link rel="stylesheet" type="text/css" href="css/style.css" media="screen,projection" />
  7. <script src="https://use.fontawesome.com/5ea45b0200.js"></script>
  8. <script type="text/javascript" src="./jscripts/scripts.js"></script>
  9. <script language="javascript" type="text/javascript" src="./jscripts/tiny_mce.js"></script>
  10.  
  11. <script language='javascript' type='text/javascript'>
  12. tinyMCE.init({
  13. mode : 'textareas',
  14. theme : 'advanced',
  15. content_css : './css/tinyContent.css',
  16. theme_advanced_toolbar_location : 'top',
  17. theme_advanced_buttons1 : 'bold,italic,underline',
  18. theme_advanced_buttons2 : '',
  19. theme_advanced_buttons3 : '',
  20. });
  21.  
  22. function fileBrowserCallBack(field_name, url, type, win) {
  23. var connector = '../../filemanager/browser.html?Connector=connectors/php/connector.php';
  24. var enableAutoTypeSelection = true;
  25.  
  26. var cType;
  27. tinyfck_field = field_name;
  28. tinyfck = win;
  29.  
  30. switch (type) {
  31. case 'image':
  32. cType = 'Image';
  33. break;
  34. case 'flash':
  35. cType = 'Flash';
  36. break;
  37. case 'file':
  38. cType = 'File';
  39. break;
  40. }
  41.  
  42. if (enableAutoTypeSelection && cType) {
  43. connector += '&Type=' + cType;
  44. }
  45.  
  46. window.open(connector, 'tinyfck', 'modal,width=600,height=400');
  47. }
  48.  
  49. </head>
  50. <div class="adminBody">
  51. <div class="topBar">
  52. <a href="./index.php" class="logo"></a>
  53. <ul class='menuHTML'><li><a href='./?page=posts'>Wpisy
  54. </a></li><li><a href='./?page=media'>Media
  55. </a></li><li><a href='./?page=menu'>menu</a></li><li><a href='./?page=users'>użytkownicy</a></li><li><a href='./?page=logout'>&nbsp;</a></li></ul> </div>
  56. <div class='postsDiv'><script>
  57. function addImageToPost(requiredModule,moduleName,sourceID,limitMedia,mediaType) {
  58. alert('dupa');
  59. document.forms['newPostForm'].action ='./?page=' + requiredModule + '&source=' + moduleName + '&sourceID=' + sourceID + '&postID=&limitMedia=' + limitMedia + '&mediaType=' + mediaType';
  60. document.forms['newPostForm'].submit();
  61. }
  62. </script><form action='./?page=posts' method='post' name='newPostForm'>
  63. <input type='hidden' name='act' value='save'>
  64. <div class='postFormContainer'>
  65. <input type='text' name='postTitle' placeholder='Tytuł wpisu' required='' value=''>
  66. <div class='postStatus'>Opublikowany: <input type='checkbox'></div>
  67. <div style='clear:both'></div>
  68. <div class='publicDate'></div>
  69. <textarea placeholder='Treść wpisu...' name='postContent' style='width:100%;'></textarea><div class='addImage'><button class='bttn newElement center' onClick='addImageToPost("media","posts",,1,"image");' title='przypisz zdjęcie'>Dodaj zdjęcie reprezentujące<i class='fa fa-plus-circle fa-lg' aria-hidden='true'></i></button></div><button type='submit' class='submit' name='act' value='save'>Zapisz<i class='fa fa-check fa-lg' aria-hidden='true'></i></button>
  70. </div></form></div> </div>
  71. </body>
  72. </html>

sabat24
Zogdnie z np. tym

Cytat
The type of the button. Possible values are:
- submit: The button submits the form data to the server. This is the default if the attribute is not specified, or if the attribute is dynamically changed to an empty or invalid value.


Użyj np. type="button", żeby zmienić to zachowanie.
trueblue
A nie prościej wykorzystać atrybut formaction przycisku (input lub button) zamiast kombinować ze zmianą action?
https://www.w3schools.com/TAGs/att_input_formaction.asp
siutek
Cytat(trueblue @ 25.09.2017, 21:49:15 ) *
A nie prościej wykorzystać atrybut formaction przycisku (input lub button) zamiast kombinować ze zmianą action?
https://www.w3schools.com/TAGs/att_input_formaction.asp


hmmm... o tym atrybucie nie wiedziałem, już sprawdzam.

==========
edit:
genialne rozwiązanie!!! Dzięki! trueblue!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.