日期:2014-05-19  浏览次数:20635 次

帮忙看一个传值的问题,非常感谢!
<script   language= "javascript ">
function   getvalue(name)
{
var   str=window.location.search;
if(str.indexOf(name)!=-1)
{
var   pos_start=str.indexOf(name)+name.length+1;
var   pos_end=str.indexOf( "& ",pos_start);
if(pos_end==-1)
{
return   str.substring(pos_start);
}
else
{
return   str.substring(pos_start,pos_end);
}
}
else
{
return   "没有这个name值 ";
}
}

</script>
我用以上javascript接收参数绑定在下面value字段,怎么不能实现呢,
    <param   name= "AutoStart "   value= "-1 "   />
    <!--是否自动播放-->
    <param   name= "Balance "   value= "0 "   />
 
    <param   name= "enabled "   value= "-1 "   />

    <param   name= "EnableContextMenu "   value= "-1 "   />
    <!--播放的文件地址-->
    <param   name= "url "   value= 'javascript:getvalue( "id ") '/>
上面java的写法不对吗?应该怎么写?

------解决方案--------------------
这样是不行的,不能直接在标签的value属性中调用javascript函数,只能通过调用javascript函数来改变value属性,下面的代码做了修改,看你在什么时候调用SetUrl函数好,增加个按钮来调用还是通过改变某一个标签的值时通过事件来调用,根据你具体的要求来看了。

<script language= "javascript ">

function SetUrl(name){
document.getElementById( 'url ').value=getvalue(name);
}

function getvalue(name)
{
var str=window.location.search;
if(str.indexOf(name)!=-1)
{
var pos_start=str.indexOf(name)+name.length+1;
var pos_end=str.indexOf( "& ",pos_start);
if(pos_end==-1)
{
return str.substring(pos_start);
}
else
{
return str.substring(pos_start,pos_end);
}
}
else
{
return "没有这个name值 ";
}
}

</script>

<param name= "AutoStart " value= "-1 " />
<!--是否自动播放-->
<param name= "Balance " value= "0 " />

<param name= "enabled " value= "-1 " />

<param name= "EnableContextMenu " value= "-1 " />
<!--播放的文件地址-->
<param name= "url "/>