Javascript 将变量存储/传递给另一个函数

Javascript 将变量存储/传递给另一个函数,javascript,Javascript,我有一个简单的问题,存储变量并将其从一个函数传递到另一个函数。我的脚本应该是这样工作的: <input type="text" id="ip1" > <input type="button" id="check_button" value="checking" onclick="check_text()"> <input type="button" id="write_button" value="write" oncli

我有一个简单的问题,存储变量并将其从一个函数传递到另一个函数。我的脚本应该是这样工作的:

<input type="text" id="ip1" >    
         <input type="button" id="check_button" value="checking" onclick="check_text()">
         <input type="button" id="write_button" value="write" onclick="write()">
<p id="ag"></p>

您应该在函数外部声明变量: 它必须起作用

var ui=0;
函数检查_text(){
ui=document.getElementById('ip1')。值;
}
函数writeL(){
document.getElementById('ag').innerHTML=ui;
}


使用jQuery,您可以很容易地做到这一点,如下所示:

<input type="text" id="ip1" >    
         <input type="button" id="check_button" value="checking" onclick="check_text()">
         <input type="button" id="write_button" value="write" onclick="write()">
<p id="ag"></p>
var enteredValue=”“;
$(“检查按钮”)。在(“单击”,函数()上{
enteredValue=$(“#ip1”).val();
});
$(“#写#按钮”)。在(“单击”,函数()上{
$(“#存储_值”).html(输入值);
});


当然,处理价值的方法不止一种。下面的代码段使用了。详细信息在代码段中注释。顺便说一句,我必须去掉其中一个按钮,它可能会妨碍你的理解,而不是帮助它。最好通过观察控制台来想象正在发生的事情

片段

/***注意:任何带有铅笔图标的注释:✎
||表示表达式/语句在那里。。。
||…以显示另一种方式。虽然他们。。。
||…不在函数中使用,它们可以。。。
||…用来代替它的对应物。
*/
函数processData(){
//通过id或。。。
var form1=document.getElementById('form1');
// ✎
/*1*/
console.log('1.这是'+form1.id+'\n');
/*…或通过HTMLFormControlsCollection。。。
||…引用作为第一个。。。
||…forms是一个类似数组的对象。。。
||…该[0]是指示以下内容的索引。。。
||…它指的是。这很容易。。。
||…决定了,因为只有一个。。。
||…在页面上。
*/
var formA=文件格式[0];
/*2*/
console.log('2.这是'+formA.id+'\n');
//我们将继续使用HTMLFormControl集合
/*这是使用以前声明的格式来。。。
||…引用它的.elements属性。该。。。
||…elements属性类似于.forms。。。
||…除了它指的是a的。。。
||…字段形式元素,如和。。。
||...
*/
var formUI=形式要素;
/*3*/
console.log('3.这是一个'+formUI+'\n');
//我们可以得到表单控件元素的数量
变量数量=formUI.length;
// ✎
/*4*/
console.log('4.form1有'+qty+'表单控件元素\n');
/*使用对象formUI获取text1的值。。。
||…的名称和.value属性。
*/
var TXT1=formUI.text1.value;
/*5*/
console.log('5.text1的值为'+TXT1+'\n');
/*我们可以通过引用…得到相同的结果。。。
||…通过它在formUI对象中的索引位置。。。
||此表达式正在获取第一个。。。
||…或formUI对象的表单字段元素
*/
var TXTA=formUI[0]。值;
// ✎
/*6*/
console.log('6.Text1的值仍然是'+TXTA+'\n');
/*返回TXT1的值
||此函数返回一个值,因此可以。。。
||…作为值分配给var,并且它可以是。。。
||…通过另一个函数,如。。。
||…参数。
*/
返回TXT1;
}
/*这将传递一个值。。。
||…参考。。。
||…并将值设置为。。。
||…给定值
*/
函数显示数据(值){
var output1=document.getElementById('output1');
output1.value=值;
}
/*单击按钮1时。。。
||…将processData()的返回存储在变量中。。。
||…然后将该变量传递给displayData()函数
*/
document.getElementById('button1')。onclick=函数(事件){
var VAL=processData();
显示数据(VAL);
}
输入{
字体:继承
}



如果我声明
var ui=0,结果(将写入“ag”)为0,而不是输入字段中输入的值。我还注意到我无法命名函数write()。似乎不允许将write()作为函数名。请您将我的答案标记为正确答案,只需将V放在答案旁边即可。op没有要求jQuery。考虑到这一点。检查!这看起来像是一个简单的任务,只需使用JS即可完成。OP似乎没有使用jQuery,那么为什么要强迫他使用jQuery呢?正如在另一篇评论中提到的,我并没有试图解决这个确切的问题,而是理解它背后的逻辑,这样我就可以将它应用到其他情况。(使用Javascript)我感谢jQuery解决方案,谢谢!非常感谢你为什么不只用一个按钮,当你点击时,你就可以得到值并一次传递给段落?我只是想知道这个问题的解决方案,因为我想了解它背后的逻辑。您是100%正确的,使用1个按钮可以轻松解决问题。