Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z Onsubmit...
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
toolmaniak
Witam mam taki mały problem. Poniżej zamieszczam skrypt Javy który odpowiada za tworzenie menu, i w sumie działa dobrze, ale nie wiem co jest że już w drugiej statycznej części kodu, nie działa mi zdarzenie onSubmit na formularzu, natomiast onReset działa bezbłędnie...! Czy ja robie cos nie tak...? blink.gif Oto kod:

  1. <script type='text/javascript' language='JScript'>
  2. <!--
  3. var oText='';
  4. var objects = "input";
  5.  
  6. var objects_s = new Array (4);
  7. objects_s[0] = "INPUT";
  8. objects_s[1] = "INPUT";
  9. objects_s[2] = "A";
  10. objects_s[3] = "A";
  11.  
  12. var values_s = new Array (4);
  13. values_s[0] = "SEARCH";
  14. values_s[1] = "TYPE WHAT TO SEARCH";
  15. values_s[2] = "SEARCH";
  16. values_s[3] = "RESET";
  17.  
  18. var types_s = new Array (4);
  19. types_s[0] = "HIDDEN";
  20. types_s[1] = "TEXT";
  21. types_s[2] = "SUBMIT";
  22. types_s[3] = "RESET";
  23.  
  24. var names_s = new Array (4);
  25. names_s[0] = "WORKID";
  26. names_s[1] = "SEARCH_VAL";
  27. names_s[2] = "SUBMITTING";
  28. names_s[3] = "RESETTING";
  29.  
  30. var values_o =new Array (7);
  31. values_o[0] = "OTHERS";
  32. values_o[1] = "7";
  33. values_o[2] = "WHOIS_IP";
  34. values_o[3] = "WHOIS_DOMAIN";
  35. values_o[4] = "PING";
  36. values_o[5] = "TRACEROUTE";
  37. values_o[6] = "PRZESLIJ";
  38.  
  39.  
  40. var types_o = new Array (7);
  41. types_o[0] = "HIDDEN";
  42. types_o[1] = "HIDDEN";
  43. types_o[2] = "CHECKBOX";
  44. types_o[3] = "CHECKBOX";
  45. types_o[4] = "CHECKBOX";
  46. types_o[5] = "CHECKBOX";
  47. types_o[6] = "SUBMIT";
  48.  
  49.  
  50. var names_o = new Array (7);
  51. names_o[0] = "WORKID";
  52. names_o[1] = "ID";
  53. names_o[2] = "SUBMITTING";
  54. names_o[3] = "SUBMITTING";
  55. names_o[4] = "SUBMITTING";
  56. names_o[5] = "SUBMITTING";
  57. names_o[6] = "";
  58.  
  59.  
  60. function fnCreate() {
  61. var innerData = document.getElementById(oData);
  62. oData.innerHTML="";
  63. for (i = 0; i<objects_s.length; i++)
  64. {
  65. if (objects_s.length>0)
  66. {
  67. var aElement= document.createElement(objects_s[i]);
  68.  
  69. eval("aElement.type" + "='" + types_s[i] +"'");
  70. eval("aElement.name" + "='" + names_s[i] +"'");
  71. eval("aElement.value" + "='" + values_s[i] +"'");
  72.  
  73. if (aElement.type=='text') {
  74. var oTextNode = document.createTextNode("Search:");
  75. oData.appendChild(oTextNode);
  76. eval("aElement.style.borderStyle" + "='" + "dotted" +"'");
  77. eval("aElement.size" + "='" + "31" +"'");
  78. eval("aElement.onclick" + "='" + "this.value.length=0" +"'");
  79. }
  80.  
  81.  
  82. if (aElement.type=='submit') {
  83. aElement.setAttribute('href','java script:document.form.submit();');
  84. aElement.setAttribute('style.marginTop','40px;');
  85. image_link = document.createElement("img");
  86. image_link.setAttribute('src','szukaj.gif');
  87. image_link.setAttribute('border','0');
  88. aElement.appendChild(image_link);
  89.  
  90.  
  91.  
  92. }
  93. if (aElement.type=='reset') {
  94. aElement.setAttribute('href','java script:document.form.reset();');
  95. image_link = document.createElement("img");
  96. image_link.setAttribute('src','czysc.gif');
  97. image_link.setAttribute('border','0');
  98. aElement.appendChild(image_link);
  99. }
  100. }
  101. oData.appendChild(aElement);
  102. oData.style.backgroundColor='#ffffff';
  103. oData.style.height='50px';
  104. oData.style.width='350px';
  105. oData.style.border='3px';
  106. oData.style.borderStyle='double';
  107.  
  108. }
  109.  
  110. }
  111.  
  112. function foCreate() {
  113. var innerData = document.getElementById(oData);
  114. oData.innerHTML="";
  115. for (i = 0; i<values_o.length; i++)
  116. {
  117. if (objects.length>0)
  118. {
  119. var aElement= document.createElement(objects);
  120.  
  121. eval("aElement.type" + "='" + types_o[i] +"'");
  122. eval("aElement.name" + "='" + names_o[i] +"'");
  123. eval("aElement.value" + "='" + values_o[i] +"'");
  124.  
  125. if (aElement.type=='checkbox') {
  126. var oTextNode = document.createTextNode(values_o[i]);
  127. oData.appendChild(oTextNode);
  128. }
  129.  
  130. }
  131. oData.appendChild(aElement);
  132. oData.style.backgroundColor='#ffffff';
  133. oData.style.height='50px';
  134. oData.style.width='390px';
  135. oData.style.border='3px';
  136. oData.style.borderStyle='double';
  137.  
  138. }
  139.  
  140. }
  141.  
  142. function fnEsc() {
  143. oData.innerHTML="";
  144. oData.style.backgroundColor='#ffffff';
  145. oData.style.height='0px';
  146. oData.style.width='0px';
  147. oData.style.border='0px';
  148. }
  149. //-->
  150. <!--
  151. function iframe_resize()
  152. {
  153. var iframe_container = document.getElementById('result');
  154.  
  155. iframe_container.style.width='400px';
  156. iframe_container.style.height='200px';
  157. }
  158. //-->


A tutaj ten nieszczęsny formularz...

  1. <div align=center>
  2. <a href='java script:fnCreate();' onMouseover="EnterContent('ToolTip','Wyszukiwarka','Szukaj informacji o rekordach zdefiniowanych w bazach whois'); Activate();" onMouseout="deActivate()"><img src='home.png' border='0'>Wyszukiwarka</a>
  3. <a href='java script:foCreate();' onMouseover="EnterContent('ToolTip','Zaawansowane','Wykonaj operacje sieciowe'); Activate();" onMouseout="deActivate()"><img src='process.png' border='0'>Zaawansowane</a>
  4. <a href='java script:fnEsc();' onMouseover="EnterContent('ToolTip','Zamknij',''); Activate();" onMouseout="deActivate()"><img src='loggoff.png' border='0'>X</a>
  5. <FORM ACTION='https://192.168.0.21/post_wrap.php' METHOD=POST target="result" align=center name='form' onreset='java script:iframe_resize();'>
  6. <a href='java script:iframe_resize();'>iframe</a>
  7. <SPAN ID="oData" style='align:center;' align=center></SPAN></FORM><BR>
  8. <iframe src='' style="width:0px; height:0px" id='result' name='result' border='0'>Twoja przegladarka nie obsluguje ramek</iframe>
nospor
Cytat
nie działa mi zdarzenie onSubmit na formularzu, natomiast onReset działa bezbłędnie...!

Ciekawe dlaczego, hmmmm.... Moze sprobujmy tak.
Zalozmy ze masz pudelko, a na nim guzik "RESET". No i teraz zastanawiasz sie, czemu na tym pudelku nie dziala ci "SUBMIT", ale za to dziala RESET. Odpowiedź jest bardzo prosta: gdyz masz RESET a nie masz SUBMIT smile.gif

Oco mi chodzi? Ano oto, ze nigdzie nie widze u ciebie w formie zdarzenia onsubmit, a widze tylko onreset
toolmaniak
sorki, przepisałem kod ze zdarzniem onreset, bo jak pisałem testowałem i to rozwiąznie. Ale prosze nie jestem debilem i takich błędów nie popełniam. W każdym razie w miejece onreset powinno byc onsubmit ( ztym ze onsubmit nie działa)
nospor
Cytat
Ale prosze nie jestem debilem

Ja tego nie powiedzialem.
Skomentowalem jedynie to co widze. Na przyszlosc postaraj sie dawac kod w takiej postaci w jakiej ci nie dziala, zeby unikac niepotrzebych postow.

Daj tak:
onsubmit="alert(2);"
Jak ci wyskoczy dwojka,znaczy ze onsubmit dziala smile.gif i byc moze masz zwalona funkcje ktora wywolujesz na onsubmit.
toolmaniak
A i jeszcze jedno, chyba miałem już kiedys taki problem z onSubmit.

zdarznie to działa jezeli formularz zawiera <input type=submit> ale kiedy juz było np: <a href='#' onclick='java script:this.form.submit();'>wyslij</a> to była lipa. Wie ktos moze gdzie lezy problem...?

własnie próbowałem na alercie, i działa jezeli wysyłam nie przez link <a href=#> nie wiem co jest

Poradziłem sobie tylko inaczej:

do linka dodałem href do funkcji resize

if (aElement.type=='submit') {
aElement.setAttribute('href','java script:iframe_resize();');
aElement.setAttribute('style.marginTop','40px;');
image_link = document.createElement("img");
image_link.setAttribute('src','szukaj.gif');
image_link.setAttribute('border','0');
aElement.appendChild(image_link);

a dopiero w tej włąsciwej funkcji wywołuje submit formularza...


<script>
<!--
function iframe_resize()
{
var iframe_container = document.getElementById('result');

iframe_container.style.width='400px';
iframe_container.style.height='200px';
document.form.submit();
}
//-->
</script>


Jak narazie działa. Pozdro... aarambo.gif
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.