Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] JS w IE...
Forum PHP.pl > Forum > Przedszkole
no-scared
Czemu taka funkcja:

  1. function showAddSubjectForm(id)
  2. {
  3. if(document.getElementById('new_subject').innerHTML.search('<form') != -1)
  4. {
  5. return;
  6. }
  7. var form_string = (<r><![CDATA[
  8. <form id="newQuestionFormId" action="index.php5?<?php echo pobierz_get(array('new_question'), array('1')) ?>" method="post">
  9. <table id="newQuestionForm" cellpadding="5">
  10. <tr>
  11. <td>
  12. Dział:
  13. </td>
  14. <td style="color: red; text-align: left; padding-left: 20px;" colspan="2">
  15.  
  16. ]]></r>).toString();
  17.  
  18. form_string += id;
  19.  
  20.  
  21. form_string += (<r><![CDATA[
  22. </td>
  23. <td>
  24. &nbsp;
  25. </td>
  26. </tr>
  27.  
  28. <tr>
  29. <td>
  30. Temat:
  31. </td>
  32. <td colspan="2">
  33. <input type="text" style="width: 150px;" name="q_subject" /> &nbsp;
  34. Ksywka: <?php echo (!empty($_SESSION['login']) ? $_SESSION['login'] :
  35. '<input type="text" style="width: 150px" name="q_nick" />') ?>
  36. </td>
  37. </tr>
  38.  
  39. <tr>
  40. <td>
  41. Treść:
  42. </td>
  43. <td colspan="2">
  44. <textarea name="q_tresc" style="width: 370px; height: 200px;"></textarea>
  45. </td>
  46. </tr>
  47.  
  48. <tr>
  49. <td colspan="3" style="text-align: center;">
  50. <input type="submit" value="Dodaj" /> &nbsp;&nbsp;<input type="button" value="Zamknij" onclick="var sub = document.getElementById('newQuestionFormId'); sub.parentNode.removeChild(sub);" />
  51. </td>
  52. </tr>
  53.  
  54. </table>
  55. </form>
  56.  
  57. ]]></r>).toString();
  58. var subject_element = document.getElementById('new_subject');
  59. subject_element.innerHTML += form_string;
  60. }


Działa mi poprawnie w Firefoxie, a w ie już nie?
erix
Fajnie, że wiemy jaki błąd, że nawet się wysiliłeś żeby postawić gdzieś to na żywo...
flashdev
Cytat(no-scared @ 8.09.2009, 21:12:30 ) *
http://www.gaduj.pl jak się kliknie w "NOWY TEMAT". W FF jest dobrze, a w IE właśnie nie pojawia się fromularz


W operze też nie działa.

taka mała sugestia: Czy warto uzależniać możliwość dodawania tematów od obecności js?
Lepiej zastosować taki schemat:
Formularz wyświetlamy zawsze. Jeśli jest js to przy pomocy js go chowamy po załadowaniu strony i wyświetlamy na żadanie użytkownika.
no-scared
To jest bardziej trening... chciałbym mimo to wiedzieć jak to zrobić.
flashdev
Cytat(no-scared @ 8.09.2009, 21:24:11 ) *
To jest bardziej trening... chciałbym mimo to wiedzieć jak to zrobić.


includujesz skrypt:
[JAVASCRIPT] pobierz, plaintext
  1. window.addEventListener("load", function(){
  2. document.getElementById("id_przycisku").addEventListener("click", function(e){
  3. e.preventDefault();
  4. document.getElementById("id_formularza").style.display = "block";
  5. }, false);
  6.  
  7. }, false);
[JAVASCRIPT] pobierz, plaintext


Edit: nie ma tagu [ js ] ? hmm

Powinno działać, chociaż nie testowałem.
Oczywiscie wcześniej formularzowi nadajesz w stylach: display:none;

Rozwiazanie działa pod Operą, FF i wszystkimi normalnymi browserami.
W ie, trzeba dodać pare dodatkowych warunków, ponieważ tam nie działa tak samo dodawanie zdarzeń.
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.