2016-03-22 2 views
0
<a href="javascript: codeChange()"> 

//write an img tag to the screen 

<script> 
// @para1 of verCode: numbers of the characters 
// @para2 of verCode: the width of the picture 
// @para3 of verCode: the height pf the picture 
// the php code is from $code = verCode(),in which the function verCode is generating some verification code. 

var code = "<?=$code?>" 
document.write("<img src='backend/verificationCode.php?code=" + code + "' id='codePic'>") 

//when the a tag is clicked, the function below executes 

function codeChange() { 
    var code = "<?=verCode(4, 70, 20)?>" 
    document.getElementById("codePic").src = "backend/verificationCode.php?code=" + code + "" 

//the url links to a php page to change the code into picture 

} 
</script> 

</a> 

Что странно, когда я впервые щелкнул изображение (в тегах), оно изменилось, но после этого этого не произойдет. Что случилось с моим кодом? Почему это происходит?Почему моя функция JavaScript работает только один раз?

+2

он работает каждый раз, но он поддерживает настройку одного и того же изображения, поэтому вы не видите никаких изменений после первого раза. –

+1

Извините, ваш вопрос приостановлен. Чтобы ответить на ваш вопрос, '' блоки запускаются под PHP, поэтому такие вещи, как '' Будут запускаться только один раз, на сервере, когда запрашивается страница. Ваш блок JavaScript не перезвонит PHP для пересчета нового кода. – Jacob

+0

@Jacob oh, я вижу –

ответ

1
verCode(4, 70, 20); 

, похоже, возвращает такое же значение, поэтому даже если изображение меняется. Вы этого не замечаете. надеюсь, что это поможет :)

+0

нет, каждый раз, когда вызывается verCode, он генерирует другой код подтверждения, я сделал это возможным. –

+0

с комментарием ниже моего вопроса, теперь я его получил –