如果我用javascript隐藏一个文本输入元素,其他javascript函数还能访问输入的值吗?

如果我用javascript隐藏一个文本输入元素,其他javascript函数还能访问输入的值吗?,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用此功能: function storagecalc(){ var thediv=document.forms["boxes"]; var boxno=thediv.elements["numbofboxes"]; var howmany =0; //If the textbox is not blank */ if(boxno.value!="") { howmany=parseInt(quantity.value); } return

我正在尝试使用此功能:

function storagecalc(){
var thediv=document.forms["boxes"];
var boxno=thediv.elements["numbofboxes"];
var howmany =0;    //If the textbox is not blank    */
if(boxno.value!="")    
{        
howmany=parseInt(quantity.value);    
}
return howmany;
document.getElementById('numberprice').innerHTML = "£"+howmany;
}
要获取此处输入的值,请执行以下操作:

<form action="" id="boxes">

<input type="text" id="numbofboxes" value="" name="boxnumber"/>

<button id="smtbxno" onclick="storagecalc">

<img src="images/tick.gif" alt="proceed"/>

</button>

</form>

并在此处显示:

<div id="grandtotal">

<p class="calctitles">

Grand Total

</p>

<p id="numberprice">

</p>

</div>

总计

当我在文本框中输入一个值并单击按钮时,没有发生任何事情,这是不是因为按钮也有jQuery,它会在单击时隐藏自己和文本框? 如果没有任何关于它为什么不起作用的建议

如果我用javascript隐藏一个文本输入元素,其他javascript函数还能访问输入到其中的值吗

可以获得输入元素引用(通过变量,使用DOM选择器)的每一段javascript都可以访问其值。该元素的可见性对任何这些操作都没有影响。只有当您将其与DOM分离时,其他函数才能使用DOM方法选择它


好的,您给我们的文档中有一些错误:

  • 不执行任何操作,您需要调用函数:
    。仅当使用js将侦听器分配给
    onclick
    属性时,才需要使用函数对象(
    document.getElementById(“smtbxno”).onclick=storagecalc;
  • 在函数本身中,使用变量
    quantity
    ,该变量
    未定义(并引发异常)。我不知道如何解决这个问题

您正在分配函数,但没有调用它:

<button id="smtbxno" onclick="storagecalc()" ... >...</button>
------------------------------------------^

我不明白为什么您有不同的名称和ID,这会混淆IE,至少在较旧的版本中,IE不知道有什么不同。

JavaScript控制台报告了什么错误(如果有),您给我们的代码中的按钮没有额外的jQuery。没有报告错误,jQuery控制各种元素,和被激活。单击功能。我不认为发布它会有帮助。可能是因为函数在$(document).ready(function())之前吗?不,那没问题(甚至要求函数在全局范围内可用).但如果有什么干扰,您必须发布完整的文档,否则我们将无法帮助您!!!我已经纠正了疏忽,但仍然没有发生任何事情(哪一个?另外,表单中的按钮在默认情况下是一个提交按钮,因此表单正在提交,刷新页面并可能隐藏脚本的操作。但是该按钮没有附加任何操作?我是否可以从文本输入中获取值,而不将其保存在表单中?如果是,我将如何访问它?-将名称和id更改为。)同样的事情,但仍然没有运气。默认情况下是提交按钮。如果您不想要提交按钮,请使用输入类型按钮。如果您不提交表单,请不要使用输入类型按钮,但它们可以方便地引用控件。谢谢,虽然它没有解决我发布的问题,但您给了我一些非常有用的信息。
var boxno=thediv.elements["boxnumber"];