请帮帮我。我在将变量从 javascript 发送到 HTML 表单时遇到问题。
这是我的脚本:
<script>
function PopUpShow5(main_id, id, description, data_date, end_date, priority, status){
$("#popup5").show();
var elements = [main_id, id, description, data_date, end_date, priority, status]
document.getElementById("id_get_post_pk").innerHTML = elements[0];
document.getElementById("id_get_post_id").innerHTML = elements[1];
document.getElementById("id_get_post_description").innerHTML = elements[2];
document.getElementById("id_get_post_start_date").innerHTML = elements[3];
document.getElementById("id_get_post_end_date").innerHTML = elements[4];
document.getElementById("id_get_post_priority").innerHTML = elements[5];
document.getElementById("id_get_post_status").innerHTML = elements[6];
$(document).keyup(function(ev){
if(ev.keyCode == 27)
$("#popup5").hide();
});
}
function PopUpHide5(){
$("#popup5").hide();
}
</script>
这是我发送变量的部分(我正在使用 Django):
<div style="width:5%; float:right;">
<div id="b-container">
<div class="photo" data-title="Edit"><a href="javascript:PopUpShow5({{ item.main_id }}, {{ item.id }}, "{{ item.description }}", "{{ item.data_date|date:'Y-m-d H:i' }}", "{{ item.end_date|date:'Y-m-d H:i' }}", {{ item.priority }}, {{ item.status }})"><input type="image" src="{{ STATIC_URL }}images/edit.png" border="0" width="17" height="17" ></a></div>
</div>
</div>
但是在使用我的变量时我遇到了问题,我只能使用脚本中的第一个变量(在本例中为id_get_post_pk
),但我需要使用所有它们。我怎样才能做到这一点?
在textarea中,我只能设置第一个元素的id(和值),但我需要描述(当我将变量id_get_post_description
放在顶部时,我没有任何问题可以使用它们,但不能使用其他元素)
形式:
<div class="b-popup" id="popup5" >
<div class="b-popup-content">
<form action="" method="post" >{% csrf_token %}
<input id="id_get_post_id" value="id_get_post_id" type="hidden" maxlength="9999" name="get_post_id" type="text">
<label for="id_description_post" style=" display:table; margin-top:0px; padding-left:13px;">Description :<br></label>
<textarea id="id_get_post_id" maxlength="9999" name="id_get_post_status" style="resize:none; font-size: 12pt;" rows="12" cols="67" autofocus onkeyup="enableField(this.form,this.value)" type="text"></textarea><br>
<center>
<input type="submit" name="bttnsubmit" value="Apply" ONCLICK="window.location.href='/'" disabled="true" style="height:30px; width:80px;" >
<input type="button" value="Cancel" ONCLICK="PopUpHide5()" style="height:30px; width:80px" >
</center>
</form>
</div>
</div>
感谢您的帮助。
最佳答案
不要使用.innerHTML
设置<input>
元素值。使用.value
,而是:
document.getElementById("id_get_something").value = elements[number];
(对于 <textarea>
, .innerHTML
是可行的方法。)
关于javascript - 在html中使用大量的javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24009184/