亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用JavaScript將參數從表單發送到函數

使用JavaScript將參數從表單發送到函數

元芳怎么了 2021-04-10 14:09:33
我正在嘗試將值從表單發送到打開的新窗口。在我的程序中,窗口打開,但未val2發送值,而是存在null。我的代碼:function eq(value) {  ViewImg = window.open('http://localhost/coord.php?' + value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');}<form id='testform_eq' name='testform_new'>  <input type='text' id='val2' name='val2'>  <input type='button' value='Submit' onclick='eq(document.getElementById(val2))'></form>有誰知道為什么會這樣嗎?謝謝
查看完整描述

3 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

如果要傳遞輸入值,則應考慮兩點:


getElementById 接受一個字符串,但是您正在嘗試傳遞一個不存在的變量

如果要傳遞值而不是元素,則應.value在該元素之后添加

最后,您應該具有以下input元素:


<input type='button' value='Submit' onclick='eq(document.getElementById("val2").value)'>

這是一個實時示例:


<script>

function eq(value) {

  console.log(value);

  ViewImg = window.open('http://localhost/coord.php?' + value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');

}

</script>


<form id='testform_eq' name='testform_new'>

  <input type='text' id='val2' name='val2'>

  <input type='button' value='Submit' onclick='eq(document.getElementById("val2").value)'>

</form>

另一種選擇是讓里面的函數值,如所描述這里。如果您不打算重復eq使用不同的值,則這種方法很好。您必須根據實際情況選擇其中之一。


查看完整回答
反對 回復 2021-04-22
?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

function eq() {

  const value = document.getElementById('val2').value;

  ViewImg = window.open('http://localhost/coord.php?' + value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');

}

<form id='testform_eq' name='testform_new'>

  <input type='text' id='val2' name='val2'>

  <input type='button' value="Submit" onclick='eq()'>

</form>

您無需將任何內容傳遞給click函數。由于您已經具有輸入元素的id屬性,因此單擊時可以獲得輸入的值??赡苣朐谄渌胤绞褂迷摵瘮?,這意味著您每次必須傳遞該元素。


如果您確實想傳遞某些內容,則可以傳遞id本身。


eq('val2')


eq函數看起來比:


function eq(id){

  const value = document.getElementById(id).value;

  ....

}

比起您可以在其他輸入的其他位置使用該功能。


查看完整回答
反對 回復 2021-04-22
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

因為您應該這樣做: document.getElementById("val2").value


document.getElementById(val2)如果要獲取id=val2值,則不正確。


要修復它,您可以替換eq(document.getElementById(val2)成eq(document.getElementById("val2").value)


function eq(value) {

  ViewImg = window.open('http://localhost/coord.php?' + value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');

  console.log(value);

}

<form id='testform_eq' name='testform_new'>

  <input type='text' id='val2' name='val2'>

  <input type='button' value='Submit' onclick='eq(document.getElementById("val2").value)'>

</form>

或者只是將id放在函數調用中: eq(val2)


function eq(id) {

  ViewImg = window.open('http://localhost/coord.php?' + id.value, 'ViewImg', 'width=<?php print $realWidthNewWindow; ?>,height=<?php print $realHeightNewWindow; ?>', 'status=no', 'titlebar=0');

  console.log(id.value);

}

<form id='testform_eq' name='testform_new'>

  <input type='text' id='val2' name='val2'>

  <input type='button' value='Submit' onclick='eq(val2)'>

</form>


查看完整回答
反對 回復 2021-04-22
  • 3 回答
  • 0 關注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號