我希望从一个函数获得另一个函数的值。我想将值传递给处理程序页面。但在那我不能得到价值通过..在这里我给了代码。请帮我。例如,假设对于radio = MR& FNAME =约翰。
function getdata()
{
alert('hi');
var radio = document.getElementsByName("radiobuttonlist1");
for (var i = 0; i < radio.length; i++)
{
if (radio[i].checked)
alert(radio[i].value);
}
var fname=document.getElementById("Firstnametxt").value;
alert(fname);
}
这里我希望将所有这些值传递给另一个函数,这是我的另一个函数。
function sendinfo()
{
getdata();
$(document).ready(function(){
var url="Handler.ashx?radio="+radio+"&fname="+fname+""; "here i want the values from above function"
alert(url);
$.getJSON(url,function(json)
{
$.each(json,function(i,weed)
{
});
});
});
}
谢谢你。帮助我
答案 0 :(得分:7)
你可以这两种方式。
您可以在两个函数之外定义这些变量,如:
var radio;
var fname;
getdata() {
radio = document.getElementsByName("radiobuttonlist1");
fname=document.getElementById("Firstnametxt").value;
// VALUE UPDATED HERE
}
sendinfo() {
// VARIABLE ACCESSIBLE HERE
}
然后每当更新这些变量的值时,它将在最初定义这些变量的范围内更新(在这些函数之外)。
javascript变量的范围在变量所在的花括号{}
内以及该集合中的任何花括号内。 javascript中的范围通常是指那些花括号{}
。有一些例外,包括if
语句,您可以在其中定义变量并在外部访问(假设条件为真)。
或者您可以将这些变量作为参数传递给第二个函数,例如:sendinfo(radio, fname);
您可以在getdata()
函数中将值作为对象文字返回,如下所示:
getdata() {
return {
radio : document.getElementsByName("radiobuttonlist1"),
fname : document.getElementById("Firstnametxt").value
}
}
然后这样做:
sendinfo() {
var data = getdata();
}
然后访问这些变量,例如:data.radio
和data.fname
。
答案 1 :(得分:2)
var radio;
var fname;
function getdata()
{
alert('hi');
radio = document.getElementsByName("radiobuttonlist1");
for (var i = 0; i < radio.length; i++)
{
if (radio[i].checked)
alert(radio[i].value);
}
fname=document.getElementById("Firstnametxt").value;
alert(fname);
}
function sendinfo()
{
getdata();
$(document).ready(function(){
var url="Handler.ashx?radio="+radio+"&fname="+fname+""; "here i want the values from above function"
alert(url);
$.getJSON(url,function(json)
{
$.each(json,function(i,weed)
{
});
});
});
}
答案 2 :(得分:1)
您可以全局声明两个变量,将它们设置为第一个函数中所需的值,并在第二个函数中访问它们。