我在php页面上有2个隐藏字段。
1. <input type="hidden" name="clinic" id="clinic">
2. <input type="hidden" name="flag" id="flag">
我想通过ajax响应来设置这些字段的值。当我通过ajax响应设置这些值时,它没有被反映出来。
但是当我从这些type="hidden"
标签中删除<input >
时,会根据需要设置值。
如下所示
1. <input name="clinic" id="clinic">
2. <input name="flag" id="flag">
我不知道为什么会这样吗?帮我。
第一个函数调用ajax&amp;设置响应如下
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("clinic").value=xmlhttp.responseText;
}
}
第二个函数调用ajax&amp;设置响应如下
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("flag").value=xmlhttp.responseText;
}
}
这是我的实际ajax请求
function showAppFlag(leadid,param)
{
serviceid = "1";
if (leadid=="")
{
document.getElementById("Flag").value="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById('Flag').value= xmlhttp.responseText;
var flags = document.getElementById('Flag').value;
if(trim(flags)== "APP" && document.getElementById('cmb_subdispose').value == "APP")
{
alert('please select other disposition');
return;
}
else
{
showClinicFlag(leadid,param);
}
}
}
xmlhttp.open("GET","ctiservice.php?Type=FlagApps&lead_id="+leadid+"&service="+serviceid,true);
xmlhttp.send();
}
答案 0 :(得分:0)
首先尝试 type = text ,不会出现type = hidden问题。为什么你不能像这样使用
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("clinic").value=xmlhttp.responseText;
document.getElementById("flag").value=xmlhttp.responseText;
}
}
答案 1 :(得分:0)
阅读.value与setAttribute之后可能是属性 vs 属性问题。我不知道您是如何以及何时访问隐藏值但是如果它在表单提交后,则该属性可能尚未设置,因为.value设置字段的当前值(属性)并且您得到null。尝试使用setAttribute。
这是我使用所提供信息的最佳猜测。