ИЕ изпълнява js функция а Фаерфокс не ?!?

muio

Registered
Имам следния код
Код:
<?= getCombobox("adId", "USER_AD_SOLD", "ID", "CONCAT(HEADLINE_TEXT, ' [', DATE_FORMAT(START_DATE, '%d/%m/%y'), ' - ', DATE_FORMAT(END_DATE, '%d/%m/%y'), ']')", "", "ISVALID='Y' AND APPROVED='Y' AND BUYERID='".$userId."' AND END_DATE>='".getTimezoneTime($TIMEZONE, 'Y-m-d')."'", "START_DATE DESC", "Please select an ad to get its conversion code below ...", "onChange='adSelected(this.value)'")?>

Тази функция генерира <select></select> форма с <optiom> намерените редове в БД и тя работи.
След нея имам

Код:
<textarea name="htmlcode" id="htmlcode" rows="15" cols="80" class="effect"></textarea>

И след това джава функцията
<script language="JavaScript">
\n\n<img border=0 hspace=0 vspace=0 width=1 height=1 src=<?=$ROOT?>track_conversion.php?aid='+adId+' />\n\n';
}
//-->
</script>

Значи ИЕ отпечатва в <textarea name> кода на htmlcode.innerText а Фаерфокса ми дава грешка че "htmlcode" не било дефинирано от конзолата на грешки получавам "htmlcode is not defined" като е посочен реда на "htmlcode.innerText" след "else"
Някой да има идея що се получава така ?!?
 
сложи {} за проверката и ще стане нещо такова


function adSelected(adId)
{

if ( adId == '' ) {

htmlcode.innerText = '';
else
htmlcode.innerText = '\n\n<img border=0 hspace=0 vspace=0 width=1 height=1 src=<?=$ROOT?>track_conversion.php?aid='+adId+' />\n\n';
}


}


Поне това ми идва на акъла сега.
 
Не стана така написана функцията вече не се изпълнява и при ИЕ :cry:
 
Какъв е тоя innerText, не трябва ли да е innerHtml? Не разбирам много от JS ама това не го бях чувал
 
if ( adId == '' ) {

htmlcode.innerText = '';
} else {
htmlcode.innerText = '\n\n<img border=0 hspace=0 vspace=0 width=1 height=1 src=<?=$ROOT?>track_conversion.php?aid='+adId+' />\n\n';
}
 
shterev каза:
if ( adId == '' ) {

htmlcode.innerText = '';
} else {
htmlcode.innerText = '\n\n<img border=0 hspace=0 vspace=0 width=1 height=1 src=<?=$ROOT?>track_conversion.php?aid='+adId+' />\n\n';
}

Тия не са задължителни. Синтаксиса му е правилен.

Пробвай с innerHTML
 
StormBreaker каза:
shterev каза:
if ( adId == '' ) {

htmlcode.innerText = '';
} else {
htmlcode.innerText = '\n\n<img border=0 hspace=0 vspace=0 width=1 height=1 src=<?=$ROOT?>track_conversion.php?aid='+adId+' />\n\n';
}

Тия не са задължителни. Синтаксиса му е правилен.

Пробвай с innerHTML

То ако не са задължителни къв е смисъла от проверката ? :shock:
Нали има проверка ако отговаря на условието се прави едно , ако не друго , ако ги няма не знам , как няма да дава грешка и да не работи както трябва.
 
Брей пак не става тая функция ми уби всички детски фантазий :cry:

Иначе съм срещал в други скриптове това innerText и innerHTML което незнам какво е класове ли са някакви обекти ли джава ми е много непознат.

Иначе с innerHTML и ИЕ спира да го изпълнява и пищи за грешка.
Иначе тя тая проверка е колкото да се изпълни елсето ако променливата е празна изобщо не може да се генерира събитието onChange което извиква функцията щото формата селект ще има само един ред и няма какво да се ченджи.
 
shterev каза:
StormBreaker каза:
shterev каза:
if ( adId == '' ) {

htmlcode.innerText = '';
} else {
htmlcode.innerText = '\n\n<img border=0 hspace=0 vspace=0 width=1 height=1 src=<?=$ROOT?>track_conversion.php?aid='+adId+' />\n\n';
}

Тия не са задължителни. Синтаксиса му е правилен.

Пробвай с innerHTML

То ако не са задължителни къв е смисъла от проверката ? :shock:
Нали има проверка ако отговаря на условието се прави едно , ако не друго , ако ги няма не знам , как няма да дава грешка и да не работи както трябва.

Виж сега. Няма нужда от тия скоби след като се изпълнява едно нещо в условието. Това е 100% правилен синтаксис.

Дай елемента htmlcode да го видим какъв е
 
Оф порових се доста из нета за това оказва се че за ИЕ е innerText а за ФФ трябва да бъде textContent . А пък ИЕ8 вече не подържа нито едно от двете. До тук добре значи трябва да си пиша и функция за разпознаване на браузара. Но проблема е че за моя конкретен случай ФФ нещо ми се ебава с обекта htmlcode . А това е самата текстова ареа
Код:
<textarea name="htmlcode" id="htmlcode" rows="15" cols="80" class="effect"></textarea>

Що тоя ФФ неще да ми го дава това "htmlcode is not defined" как се оефинира обект.
 
Оф аз не съм толкова запознат с джава немога да направя тоя код дето е там за моя случай .

Отказвам се ще го пренапиша тоя файл само с РНР с него се оправям по добре.
Кофти че трябва да си напиша всичко сам щото някой се е сетил да прекара един инклудван файл в който е и тая функция за генериране на селект формата през ионкубе :D
 
Я кажи какво точно прави тази javascript(доста често бъркате java с javascript, абсолутно различни са) функция.Искаш да въвеждаш в textarea текст, или???
 
emagi каза:
Я кажи какво точно прави тази javascript(доста често бъркате java с javascript, абсолутно различни са) функция.Искаш да въвеждаш в textarea текст, или???

Не че бъркам джава с джаваскрипт пиша джава че е по късо иначе става въпрос за джаваскрипт изпълняван от браузара.

Значи имам едно кодче което генерира "<select></select>" дал съм го в първия пост. и към него е добавено и събитието onChange='adSelected(this.value)' и след него имам текстово поле
<textarea name="htmlcode" id="htmlcode" rows="15" cols="80" class="effect"></textarea>

И накрая тая "JavaScript" функция

Код:
<script language="JavaScript">
	\n\n<img border=0 hspace=0 vspace=0 width=1 height=1 src=http://texadd.000hosted.com/track_conversion.php?aid='+adId+' />\n\n';
	}
	//-->
	</script>

Значи това прави следното .
Ако в БД има записи се генерира селект елемент с опций редовете които са намерени . Като потребителя селектира някоя опция му се изписва едно текстче в тази текстова ареа която при първоначално зареждане е празна. Като това текстче е едно и също за всички случай само му се променя една стойност adId .
Това е направено така за да не се презарежда страницата при всеки избор от елемента селект.
 

Back
Горе