前几天询问了一个跨框架设置textbox的值的问题
http://community.csdn.net/Expert/topic/4323/4323425.xml?temp=.9756586
,得到了swordragon(古道热肠) 等的答复,一个未解决的问题是怎么跨框架设置得到焦点的textbox的值,那么能不能通过js脚本设置本页面aspx中的得到焦点的textbox的值?
源来的跨框架的代码为:
<script language="javascript">
function modify()
{
//如果控件是动态的:
var obj = parent.window."框架a的ID".activeElement;
if (toUpperCase(obj.type) == "TEXT")
{
    obj.value = "XXX";
}
return false;
}
</script>
我修改成<script language="javascript">
function modify()
{
//如果控件是动态的:
var obj = document.activeElement;
if (toUpperCase(obj.type) == "TEXT")
{
    obj.value = "XXX";
}
return false;
}
</script>
结果不行。是怎么回事啊

解决方案 »

  1.   

    给你一个简单的取当前页面控件焦点的VALUE的例子。。
    <body onload="document.all.txt.focus()">
    <INPUT type=text id=txt value="我是中国人">
    <input type=button onmousedown="check()" value="获得当前焦点的控件的值">
    <script>
    function check()
    {
    var activeIdStr,txtValue,txtStr;
    if(document.activeElement.tagName=="INPUT")
    {
    activeIdStr = document.activeElement.id;
    txtStr = "document.all."+ activeIdStr +".value";
    txtValue = eval("document.all."+document.activeElement.id+".value");
    alert(txtValue );
    }
    }
    </script>
      

  2.   

    看错了,原来是设置,晕。
    下面给当前焦点文本框中的数值加1,如下:代码只做测试用。楼主可以根据意思改一下。
    <body onload="document.all.txt.focus()">
    <INPUT type=text id=txt value="1">
    <input type=button onmousedown="check()" value="给当前焦点的控件的值加1" onmouseout="document.all.txt.focus();" onmouseup="document.all.txt.focus();">
    <script>
    function check()
    {
    var activeIdStr,txtValue,txtStr;
    if(document.activeElement.tagName=="INPUT")
    {
    activeIdStr = document.activeElement.id;
    txtStr = "document.all."+ activeIdStr +".value";
    txtValue = eval("document.all."+document.activeElement.id+".value");
    document.activeElement.value=parseInt(txtValue )+1
    }
    }
    </script>