PDA

Դիտել ողջ տարբերակը : JavaScript SetTimeOut() ֆունկցիան չի աշխատում, օգնե՜ք



hayk7
11.08.2009, 06:59
Մի անքամ էլ եմ գրել ես պռոբլեմի մասին բայց ոչմեկ չկարողացավ օգնի լուծել այս խնդիրը, կփորձեմ ևս մեկ անգամ ղնդրել օգնություն JavaScript-ի մասնագետներից։

Մի հարց ունեմ կապվաց SetTimeout() Function–ի հետ, մի պրոբլեմի առաջ եմ կանգնել հիմա ու ոնց նայում եմ եմ ՎԵԲ–ում չեմ գտնւմ լուծումը կարող եք օգնել՞

ՕՐԻՆԱԿ՝

միհատ էջից կնոպկաի միջոցով նոր պատուհանա բացվում, որի մեջ կա form, textarea, 2 button (Submit, Cancel) odnoklassnik–ի հաղորդագրության նման,

1. Submit button-ի նշանակությունը այն է , որ սխմելուց հետո Submit անի form-ը և textarea–ի պարունակությունը ուղարկի սկրիպտին ու փակի պատուհանը, ամեն ինջ նորմալա մենակ երբ սեղմում ես Submit button–ը ինքը մեկ հասցնւմա Submit անի ու ուղարկի մեկ չէ։ Այսինքն, ոչ մի սխալ չի տեղի ունենում ուղղակի շատ արագա փակվում պատուհանը չի հասցնում ուղարկի։ Վորոշեցի օգտագործել SetTimeout() Function –ից , բայց ոնց գրում եմ չի աշխատում ճիշտ, մեկ ընդհանրապես չի փակում պատուհանը, մեկ սխալներովա աշխատում , մի խոսկով օգնեք լուծել պրոբլեմը եթե հնարավոր է։


$pm_alert = <<<HTML
<table style="border: solid 1px #999; position:absolute; top:510px; left:18px; width: 237px;" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="218" align="center" valign="top"><div id="message"></div>
<div style="title="{$lang['pm_mtitle']}" >{$lang['pm_atitle']}</div></div>
<div style="height: 225px; width: 218px;"><br />{$lang['pm_alert']}
<br /><br /><img src="/uploads/fotos/{$row['foto_name']}{$member_id['foto']}" width="100" style="margin-right:10px;" /><br />{$lang['pm_asub']} <b>{$row['subj']}</b><br />{$lang['pm_from']} <b>{$row['user_from']}</b></b></div><br />
<div align="center" style="width: 220px;">
<textarea style=" font-size:14px; font-family:Verdana, Helvica, Sans-serif; font-style:normal; border:0px;" name="txtMessage" cols="27" rows="18" readonly="readonly" id="message">{$row['text']}</textarea>
</div><br />

<div style="width:198px;"><FORM><INPUT TYPE="BUTTON" VALUE="{$lang['pm_aread']}" onclick="createPopup();"> <INPUT TYPE="BUTTON" VALUE="{$lang['pm_close']}" ONCLICK="window.location.href='javascript:location.reload();'"></FORM> </a></div><br /><br />
<div>
</div>
</div></td>
</tr>
</table>
<script language="Javascript" type="text/javascript">
function createPopup() {
//Get the data from the form fields

//Now create the HTML code that is required to make the popup
var content = "<html><head></head><body><form action='' method='post' name='answerForm'><table width='450' border='0' cellpadding='0' cellspacing='5'><tr><td><img src='/uploads/fotos/{$row['foto_name']}{$member_id['foto']}' alt='' name='imgPlaceholder' width='110' height='110' id='imgPlaceholder' /></td></tr><tr><td><label><strong>Nickname: </strong>{$row['user_from']}</label></td></tr><tr><td><label><strong>Subject:</strong> {$row['subj']}</label></td></tr><tr><td><textarea name='comments' id='comments' value='' cols='50' rows='10'></textarea></td></tr><tr><td align='right'style='padding-right:20px;'><input type='submit' name='btnSend' id='btnSend' value='Send' onclick='opener.focus();opener.location.href = opener.location;self.close();' />&nbsp;<input type='button' name='btnCancel' id='btnCancel' value='Cancel' onclick='window.close(this)'; /><input name='send' type='hidden' value='send' /></td></tr></table><input name='subj' type='hidden' value={$row['subj']} /><input name='name' type='hidden' value={$row['user_from']} /></form><br /></body></html>"

var pops = window.open("","window","resizeable,left=400,top=400,width=458,height=500"); //Create the popup
pops.document.write(content); //Write content into it.
pops.document.close();
pops.document.getElementById('comments').focus();
}


</script>


HTML;

Արշակ
11.08.2009, 17:09
Ճիշտն ասած, ժամանակ չունեմ փորձելու, ու ընդհանրապես խնդրի մեջ խորանալու, բայց, գրածդ կոդը թեթևակի նայելով, առաջին հայացքից մտքիս էկած կարծես թե նորմալ տարբերակ (եթե իհարկե ճիշտ եմ հասկացել խնդիրը).
քո ուզածը անելու համար (form–ը submit անել, հետո նոր պատուհանը պակել), ուղղակի կարող ես form–ի onsubmit–ի մեջ close–ը անես, իսկ "Send" button–ի միջից ջնջիր onclick–ը։
Այսինքն՝ էն ինչ անում ես "Send" button–ի onclick–ի մեջ, տեղափոխիր form–ի onsubmit–ի մեջ։
Փորձիր, պիտի որ աշխատի, առանց որևէ timeout–ի։ Ընդհանրապես նման խնդիրը timeout–ով լուծելը հեչ հուսալի տարբերակ չի։

hayk7
12.08.2009, 00:59
Ճիշտն ասած, ժամանակ չունեմ փորձելու, ու ընդհանրապես խնդրի մեջ խորանալու, բայց, գրածդ կոդը թեթևակի նայելով, առաջին հայացքից մտքիս էկած կարծես թե նորմալ տարբերակ (եթե իհարկե ճիշտ եմ հասկացել խնդիրը).
քո ուզածը անելու համար (form–ը submit անել, հետո նոր պատուհանը պակել), ուղղակի կարող ես form–ի onsubmit–ի մեջ close–ը անես, իսկ "Send" button–ի միջից ջնջիր onclick–ը։
Այսինքն՝ էն ինչ անում ես "Send" button–ի onclick–ի մեջ, տեղափոխիր form–ի onsubmit–ի մեջ։
Փորձիր, պիտի որ աշխատի, առանց որևէ timeout–ի։ Ընդհանրապես նման խնդիրը timeout–ով լուծելը հեչ հուսալի տարբերակ չի։

Շնորհակալ եմ պատասղանի համար փորձեցի քո ասած տարբերակը Արշակ ջան, բայց նույն ռեզուլտատը տվեց, այսինքն, որ գրում ես տեկստը ու սեխմում ես ՍԵՆԴ պատուհանը շատ արագա փակվում ու ինքը ոնց որ չհասցնի ֆորմ-ի մեյինը սաբմիտ անի, մի խոսկով չի ուղարկում տեկստը։ Իսկ ինչ որ ձև կա, որ ասենք ջավասկրիպտի միջոցով ստւգի տեղում եթե ուղարկվելա արդեն տեղտը և ֆօրմը սաբմիթա եղել նորմալ նոր փակի պատուհանը՞ իմ ուզածը հուն բաննա ոնց որ ադնակլասսնիկումա։

Սրանք ել նկարնեը՝

http://forum.4dle.ru/ipb.html?act=attach&type=post&id=494

Dead Knight
20.08.2009, 01:43
Շնորհակալ եմ պատասղանի համար փորձեցի քո ասած տարբերակը Արշակ ջան, բայց նույն ռեզուլտատը տվեց, այսինքն, որ գրում ես տեկստը ու սեխմում ես ՍԵՆԴ պատուհանը շատ արագա փակվում ու ինքը ոնց որ չհասցնի ֆորմ-ի մեյինը սաբմիտ անի, մի խոսկով չի ուղարկում տեկստը։ Իսկ ինչ որ ձև կա, որ ասենք ջավասկրիպտի միջոցով ստւգի տեղում եթե ուղարկվելա արդեն տեղտը և ֆօրմը սաբմիթա եղել նորմալ նոր փակի պատուհանը՞ իմ ուզածը հուն բաննա ոնց որ ադնակլասսնիկումա։
,,,

Այս դեպքում ամենաճիշտը AJAX տեխնոլոգիան օգտագործելնա ;)
AJAX-ը բոլոր հարցերի պատասխանն է

hayk7
20.08.2009, 21:07
Այս դեպքում ամենաճիշտը AJAX տեխնոլոգիան օգտագործելնա ;)
AJAX-ը բոլոր հարցերի պատասխանն է

Շնկթյուն պատասխանի համար, AJAX ախր ընդհանրապես չգիտեմ :think իսկ մի հատ մոտավորապես լինկ կակ աղբյուր կարող ես տալ ինչ որ ուզում եմ անեմ , ասենք նման մի բան, որ գոնե նայեմ հասկանամ ոնցա արվում դա՞ ետքան բանը արել եմ եկել հասել եմ մենակ ետ պատուհանը ստւգելւ ւ փակելու վրա էս 2 ամիսա առաջ չեմ կարողանում անցնեմ ետ պատճառով։ :angry

մերսի...

Dead Knight
20.08.2009, 21:44
Եթե կարող ես ICQ-ով գրի կօգնեմ

hayk7
29.08.2009, 19:29
Եթե կարող ես ICQ-ով գրի կօգնեմ

Թեման ակտուալ է.... չլուչվեց պրոբլեմը :(

Dead Knight
30.08.2009, 00:29
Թեման ակտուալ է.... չլուչվեց պրոբլեմը :(

Հայկ ջան կներես ուշացման համար, հեսա պատրաստի քո ուզած script=ը, հույսով եմ քո ուզածն եմ սարքել ;)

ajax_post.rar (http://www.bit.am/ajax_post.rar)

hayk7
30.08.2009, 14:25
Հայկ ջան կներես ուշացման համար, հեսա պատրաստի քո ուզած script=ը, հույսով եմ քո ուզածն եմ սարքել ;)

ajax_post.rar (http://www.bit.am/ajax_post.rar)

Շատ շատ շնորհակալ եմ Վահան ջան բայց ինստռւկցիան չկա ռառ ի մեջ կասես ոնց միացնեմ որ երկար բարակ չքչփորեմ՞ իմ մոտ DLE 8.0 :think

Dead Knight
30.08.2009, 23:22
Շատ շատ շնորհակալ եմ Վահան ջան բայց ինստռւկցիան չկա ռառ ի մեջ կասես ոնց միացնեմ որ երկար բարակ չքչփորեմ՞ իմ մոտ DLE 8.0 :think

Մանրամասները ICQ-ով գրել եմ, էլի հարցեր լինեն գրի

hayk7
17.09.2009, 15:16
Մանրամասները ICQ-ով գրել եմ, էլի հարցեր լինեն գրի

Բարև Վահան ջան, մի քանի օր առաջ գրեցի –ով քեզ օֆլայն ժամանակ բայց չգիտեմ հասելա թե չե... որ ժամանակ լինի միհատ կապնվի իմ հետ եթե հնարավորա վերջացնենք էս գործը :ok

hayk7
02.12.2009, 06:40
Մանրամասները ICQ-ով գրել եմ, էլի հարցեր լինեն գրի


Շնոհակալություն :ok

hayk7
02.12.2009, 06:54
Վահան ջան էն DLE–ի համար AJAX –ով գրածտ TRANSLATORN էլ կտաս եթե վեռջացրել ես արդեն՞

Egern.net
15.12.2009, 21:33
առանց AJAX-ի էլ հնարավոր ա, բայց որ լուծվեց, էլ չմանրանանք :)