2013-05-13 4 views
0

У меня есть функция, которая прослушивает событие onkeyup, что onkeyup проверяет, имеет ли поле значение, а если не пусто, предполагается значение elementID, которое является телефонным номером, вызываемым из другого стр. Он принимает это значение и вставляет его в фрагмент html, который отправляется на другой идентификатор элемента. следующий код - это функция и связанный с ней код.document.getElementById is NULL error

<script language="javascript"> 
function monthlycheck() { 

    var mnthchk = document.getElementById("mdamountBox"); 
    var cancelPhone = document.getElementById("cancelphoneLabel"); 
    document.getElementById("cancelphonelistLabel").value = cancelPhone; <--gives the is null error 

    if(mnthchk.value!=""){ 

     var newHTML = "<span style='color:#24D330'> Your Monthly pledge in the amount of $__ is valid and will be deducted this time every month<br> untill you notify us of its cancellation by calling <label id='cancelphonelistLabel'>&nbsp;</label>"; 
     " </span>"; 

     document.getElementById("mnthlychkdiscoLabel").innerHTML = newHTML; 
    } 
} 

</script> 

<label id="mnthlychkdiscoLabel">&nbsp;</label> <---this is where the final data is to be displayed 
<label id="cancelphoneLabel">1-800-555-1111</label> <--- this is the phone number pulled from another page, 

все данные сбрасываются вместе на одной странице при загрузке, но записываются на отдельной странице с использованием шаблонов smarty. Я продолжаю получать озаглавленную ошибку и пробовал несколько разных вещей, чтобы исправить это, но я был сильно обеспокоен любой помощью.

здесь является jfiddle http://jsfiddle.net/rn5HH/

+0

Другая страница? Можете ли вы получить доступ к элементам с другой страницы ??? –

+0

Можете ли вы бросить скрипку? – samayo

ответ

1

Я думаю, что вы пытаетесь получить доступ, что идентификатор, прежде чем он создан. Также .value предназначен только для входов. Похоже, вы создаете ярлык, поэтому вместо этого вы будете использовать innerHTML.

Что-то вроде этого:

<script language="javascript"> 
function monthlycheck() { 

    var mnthchk = document.getElementById("mdamountBox"); 
    var cancelPhone = document.getElementById("cancelphoneLabel"); 

    if(mnthchk.value!=""){ 

    var newHTML = "<span style='color:#24D330'> Your Monthly pledge in the amount of $__ is valid and will be deducted this time every month<br> untill you notify us of its cancellation by calling <label id='cancelphonelistLabel'>&nbsp;</label></span>"; 

    document.getElementById("mnthlychkdiscoLabel").innerHTML = newHTML; 

    document.getElementById("cancelphonelistLabel").innerHTML = cancelPhone; //<--gives the is null error 

    } 
} 
</script> 

<label id="mnthlychkdiscoLabel">&nbsp;</label> <---this is where the final data is to be displayed 

<label id="cancelphoneLabel">1-800-555-1111</label> <--- this is the phone number pulled from another page, 

Я не 100%, что вы пытаетесь сделать, так что я просто пытался заставить его работать. В этом есть много вещей, которые вы могли бы упростить. Это поможет, если вы сможете создать jsfiddle, чтобы показать его более четко.

Edit:

Исправлена ​​скрипку, так что работает и показывает номер телефона: updated fiddle

является то, что он должен делать?

+0

Свойство value не только для входов. Большинство элементов управления формой могут иметь атрибут value (и все могут иметь свойство value), а также некоторые другие элементы, такие как LI и PARAM. – RobG

Смежные вопросы