我有一个文件HTML.twig
:
1:一个one
隐藏字段应该取3个值,根据哪个无线电选择,一个来自我的数据库,另外两个值是10。
<input type="hidden" name="lt_filed" value="{{ price.getLt }}" or "10" or "10">
2:3无线电盒
<input id="spa-price" name="price" class="w3-radio" onchange='valueLt();' value="Spare {{ price.getSparePrice }}" type="radio">
<input id="rep-price" name="price" class="w3-radio" onchange='valueLt();' value="Repair{{ price.getRepairPrice }}" type="radio">
<input id="tes-price" name="price" class="w3-radio" onchange='valueLt();' value="Test {{ price.getTestPrice }}" type="radio">
3:我在同一个文件HTML.Twig中做了一个块Javascript,我创建了一个函数来获取每个无线电的值,如下所示:
{% block javasc %}
<script>
function valueLt(){
var spare= document.getElementById('spa-price');
var repair= document.getElementById('rep-price');
var test= document.getElementById('tes-price');
var hidden_filed = document.getElementsByName("lt_filed");
if (repair.checked){ // Should take the value 10
alert("repair checked");
hidden_filed.value = 10;
} else if (test.checked){ // Should take the value 10 also
alert("test checked");
hidden_filed.value = 10;
} else {
alert("spare checked"); // should take the value from my database
hidden_filed.value = {{ price.getLt }};// Here I can't recovred the value from the Database
}
}
</script>
{% endblock %}
您能告诉我如何通过Twig或javascript获取值{{ price.getLt }}
吗?
谢谢。
答案 0 :(得分:2)
好吧,document.getElementsByName(param)
函数没有返回元素实例,它返回一个元素数组。你应该选择第一个元素:
{% block javasc %}
<script>
function valueLt(){
var spare= document.getElementById('spa-price');
var repair= document.getElementById('rep-price');
var test= document.getElementById('tes-price');
var hidden_filed = document.getElementsByName("lt_filed")[0]; // CHANGE THIS LINE
if (repair.checked){ // Should take the value 10
alert("repair checked");
hidden_filed.value = 10;
} else if (test.checked){ // Should take the value 10 also
alert("test checked");
hidden_filed.value = 10;
} else {
alert("spare checked"); // should take the value from my database
hidden_filed.value = {{ price.getLt }};// Here I can't recovred the value from the Database
}
}
</script>
{% endblock %}