簡體   English   中英

js調用表單值到變量

[英]js call form value to variable

好的noobablicious問題。 但已經讓我陷入了困境。

我在 function 中使用 Js 腳本聲明隱藏表單字段的值。

例如,這些只是示例而不是真正的腳本。

function myFunction(){
    var text = "hello world";
    var number = 12345;



    document.getElementById('text').value= text; 
    document.getElementById('number').value= number; 

  }

然后我希望能夠將表單值的值用作另一個腳本中的變量。 我意識到可以選擇全局聲明這些變量。 但是我聽說它不那么安全。 或者我想要的流線型。

第二個腳本示例...

    var autoText = document.getElementById('text').value;
    var autoNumber = document.getElementById('number').value;

    ...do stuff with variables.

但是,這不起作用並返回未定義。 這是訪問我的表單字段值的正確 DOM 路徑還是我需要找到一個屬性及其子項?

我還有哪些其他選擇?

謝謝你的時間。 HTML 是...

  <form action="http://mysite/mypath" method="post">

  <input type="text" name="text" id="text" value="">
  <input type="text" name="text" id="number" value="">
  <input type= "submit" name="go" value="go" allign="middle"/>
  </form> 

這應該沒問題,假設您將正確的 ID 設置為所需的元素。 請記住,ID 必須是唯一的,否則會出現不可預知的問題。

確保在加載 DOM 后運行代碼。 否則該元素可能還不存在於 DOM 中,因此document.getElementById方法將無法找到它。

或者,您可以將該數據存儲在閉包中,以便兩個函數都可以訪問該變量,但它不存儲在全局 scope 中。 像這樣:

(function(){
  var text = "blah blah",
      number = 12345;

  function insertValues() {
    document.getElementById('text').value= text; 
    document.getElementById('number').value= number; 
  }
  function otherStuffWithValues() {
    alert(text);
    alert(number);
  }
  insertValues();
  otherStuffWithValues();
}())

此外,您還可以在第一個 function 中聲明變量,然后將變量作為參數傳遞給第二個 function,如下所示:

function insertValues() {
  var text = "blah blah",
      number = 12345;
  document.getElementById('text').value= text; 
  document.getElementById('number').value= number;
  otherstuff(text,number)
}

function otherstuff(sometext,somenumber) {
  alert(sometext);
  alert(somenumber);
}
insertValues()

我認為您在頁面加載時沒有設置啟動腳本。 如果是這樣,您可以使用這個簡單的事件處理程序:

window.onload = myFunction;

使用 myFunction 將是 function 與您的上述代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM