Article View: pl.comp.lang.javascript
Article #39730Re: zmienna
From: Bogdan Blaszczak
Date: Sun, 30 Apr 2006 12:04
Date: Sun, 30 Apr 2006 12:04
63 lines
3042 bytes
3042 bytes
qazzi napisał(a):
> ProbujÄ™ przekazac zmiennÄ… z js do php, doszedlem do tego punktu i nie wiem
> dlaczego to nie dziala , problem jak mi siÄ™ wydaje lezy w zmiennej tt ale nie
> mam pojęcia jak go poprawic. Moze tutaj ktos mi pomoze.
> Pozdrawiam
>
> var tt=document.getElementById('ramka').contentWindow.document.body.innerHTML;
>
> document.write("<form action=\"edytorek.php\" method=\"POST\" >");
> document.write("<input type=\"hidden\" name=\"tresc\" value=\"+ tt +"\">");
> document.write("<input name=\"wysylam\" type=\"submit\" value=\"wyslij\">");
> document.write("</form>");
Twoj problem to czas wykonania. Jesli uzywasz write, to znaczy ze
przypisujesz wartosc podczas ladowania dokumentu. W tym czasie nie tylko
nie ma pewnosci ze innerHTML 'czegostam' istnieje, ale nawet nie ma
pewnosci, ze 'costam' juz istnieje.
Znacznie bezpieczniej bedzie jesli wartosc do hiddena przypiszesz w
momencie wysylania formularza, czyli onsubmit
<form action="#" method="post" onsubmit="return przypisz(this)">
<input type="hidden" name="tresc">
<input type="submit">
</form>
W sekcji head masz funkcje
<script>
function przypisz(t){
t.tresc=document....innerHTML
return true
}
</script>
Oczywiscie w miejscu ... twoja 'sciezka obiektowa'
Nawet to rozwiazanie nie jest do konca pewne. Zauwaz ze w swoim skrypcie
tworzysz polaczenie pomiedzy dwoma niezaleznymi dokumentami: dokument
glowny i dokument w ramce.
Jaka masz gwarancje, ze w momencie gdy user kliknie 'submit', dokument w
ramce bedzie juz zaladowany?
Idealnie by bylo, gdyby dokument w ramce 'powiadamial' dokument glowny,
ze "juz jestem". Czyli dokument w ramce moglby np ustawic jakas flage w
dokumencie glownym. Ten skrypt w dokumencie ramkowym:
<script>
onload=function(){window.parent.jestem=true}
</script>
A w dokumencie glownym w funkcji przypisz(), cos w stylu:
if(window.jestem){
t.tresc=document....innerHTML
return true
}
else {
alert('Poczekaj na zaladowanie ramki');
return false;
}
Zwrot true/false pozwala wyslac formularz lub powoduje wstrzymanie
wykonania submita.
--
BlaTek
Technical Details
Message-ID:
<e3296l$pp$1@atlantis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<e322jg$rfi$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: Bogdan Blaszczak <blatek@UsuN-AntyspaMpoczta.wprost.pl> Newsgroups: pl.comp.lang.javascript Subject: Re: zmienna Date: Sun, 30 Apr 2006 14:04:48 +0200 Organization: Disorganization Department Lines: 63 Message-ID: <e3296l$pp$1@atlantis.news.tpi.pl> References: <e322jg$rfi$1@inews.gazeta.pl> NNTP-Posting-Host: ejc98.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: atlantis.news.tpi.pl 1146398741 825 83.15.84.98 (30 Apr 2006 12:05:41 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Sun, 30 Apr 2006 12:05:41 +0000 (UTC) User-Agent: Thunderbird X-Accept-Language: pl, en-us, en In-Reply-To: <e322jg$rfi$1@inews.gazeta.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit