Проблема: у меня есть пара страниц php, очищающих данные с веб-страницы, и они выполняют вычисления с этими данными и присваивают их переменной. Затем я назначаю эти переменные php переменным javascript. Затем у меня есть раскрывающийся список. Затем переменная, созданная с каждой страницы, должна быть привязана к каждому значению в выпадающем списке. После выбора значения в списке и нажатия кнопки «Рассчитать» значение будет выводиться в текстовое поле. Что происходит, так это то, что нет выхода. Страницы скребка включены в страницу.Вызов функций javascript из раскрывающегося списка с переменными php
Мой HTML код:
<form>
<select id="term" name="terms">
<option value="">Select an Investment length:</option>
<option value="1">Short Term</option>
<option value="2">Medium Term</option>
<option value="3">Long Term</option>
</select>
<input type="text" id="text" name="text" size="18" value = "0">
<button onclick="sOutput(text)">Calculate</button>
</form>
My Javascript, содержащиеся во внешнем документе:
function sOutput(e1){
var shortTerm = <?php echo json_encode($term1); ?>;
var mediumTerm = <?php echo json_encode($term2); ?>;
var longTerm = <?php echo json_encode($term3); ?>;
var term=document.getElementById("term").value;
if(term=="Short Term"){
return e1.value = shortTerm;
}
else if(term=="Medium Term"){
return e1.value = mediumTerm;
}
else if(term=="Long Term"){
return e1.value = longTerm;
}
else if(term=="Select an investment length:"){
return e1.value = '0';
}
else return false;
}
Он работал, когда я просто заменил ==
с =
по какой-то причине только в той мере, в какой он выводит только одну из переменных $term
. Хотя с этим текущим кодом он ничего не выводит, и текстовое поле text
остается с «0».
Это действительно помогает много, большое спасибо @Jer, однако страница затем освежают и значение является просто дополнением к ссылке '? Термины = 3 & текст = 6.92836551772' и TextField затем возвращается к«0» , Как я могу правильно передать эти данные, не потеряв их? Что-то связано с '
Это пункт 2, о котором я упомянул. Возможно, вам придется удалить возвращаемые данные из функции, но обычно меняя «
хорошо, спасибо! – deco20