2012-12-18 156 views
5

嗨我試圖將onclick事件上的變量傳遞給javascript函數。我正在嘗試以下方法,我無法在javascript函數中獲得輸入值(我期待1的警報)。這是做這個的正確方法嗎?請幫忙。將onclick事件的父窗體傳遞給javascript函數

<head> 
    <script> 
     function submit_value(form) { 
      alert(form.ip.value); 
     } 
    </script> 
</head> 
<table> 
    <tr> 
     <form> 
      <td> 
       <input id="ip" type="text" value="1"> 
      </td> 
      <td> 
       <a href="javascript:;" onClick="submit_value(this)">Button</a> 
      </td> 
     </form> 
    </tr> 
</table> 

回答

3

您的腳本不知道什麼form是。您需要改爲指定document.forms[0].ip.value

如果文檔中有多個表單,那麼將表單元素首先存儲在變量中會更好。你可以有一個ID的形式爲上...

<form id="formID">

和submit_value功能,可以

var myForm = document.getElementById('formID'); alert(myForm.ip.value);

編輯:

您可以使用this.form用於onClick的錨標籤。

+1

更好的是給你的表格的名稱,然後使用document.formName.ip.value – Ankit

+0

點是可以有n這樣的動態表單的數量。 document.forms [0] .ip.value就像知道我想發送的表單。我想將表單父項傳遞給錨標籤。我該怎麼做? – user1051505

0

功能改成這樣:

function submit_value(form) { 
     alert(document.getElementById('ip').value); 
    } 

當你寫submit_value(this)this的值實際上是元素<a>本身,而不是形式。

+0

點是可以有n個這樣的動態形式。我想將表單父項傳遞給錨標籤。我該怎麼做? – user1051505

+1

如果有很多動態表單,那麼你不應該使用'id =「ip」'因爲ids必須是唯一的 –

+0

ok,class應該在那裏 – user1051505

0

我假設你可以使用jQuery。選擇器很簡單。

變化從

<form> 
     <td> 
      <input id="ip" type="text" value="1"> 
     </td> 
     <td> 
      <a href="javascript:;" onClick="submit_value(this)">Button</a> 
     </td> 
</form> 

以下表格的html

<form> 
     <td> 
      <input id="ip" type="text" value="1"> 
     </td> 
     <td> 
      <a href="" class="mySubmitButton">Button</a> 
     </td> 
</form> 

然後你的JS會像

$('.mySubmitButton').click(function() { 

    var inputBox = $(this).prev(); 
    alert(inputBox.val()); 
    return false; //This prevents the default function submit . Similar to event.preventDefault 
}); 
0

jQuery是無處不在。你不需要JQuery。 爲什麼人們忘記了DOM對象模型? 他做了幾乎正道一切:

<head> 
 
     <script> 
 
      function submit_value() { 
 
       alert(document.forms[0].ip.value); 
 
      } 
 
     </script> 
 
    </head> 
 
    <table> 
 
     <tr> 
 
      <form> 
 
       <td> 
 
        <input name="ip" type="text" value="1"> 
 
       </td> 
 
       <td> 
 
        <a href="javascript:;" onClick="submit_value()">Button</a> 
 
       </td> 
 
      </form> 
 
     </tr> 
 
    </table>

或者,您可以添加表格ID

<head> 
 
     <script> 
 
      function submit_value() { 
 
       alert(document.forms.formid.ip.value); 
 
      } 
 
     </script> 
 
    </head> 
 
    <table> 
 
     <tr> 
 
      <form id='formid'> 
 
       <td> 
 
        <input name="ip" type="text" value="1"> 
 
       </td> 
 
       <td> 
 
        <a href="javascript:;" onClick="submit_value()">Button</a> 
 
       </td> 
 
      </form> 
 
     </tr> 
 
    </table>

相關問題