簡體   English   中英

如何將運行時參數從html代碼傳遞到javascript函數

[英]how to pass a runtime parameter from html code to javascript function

關鍵是要通過更改元素的背景顏色來專注於鼠標移動時網頁的特定元素。

html如下:

<html>
<head>
<base src="..... />
<script>....</script>
<link..../>
<title></title>
</head>
<body>
<p style="font-size:20px;font-weight:bold"> Enter values or choose options 
in the form below .</p>
<div id="d1">

<form id="f1" action="" method="post">
<fieldset>
    <legend><a name="pdet"></a>Personal Details</legend>
    <table id="t1" width="400" height="auto" rows="4" cols="2">
        <tr id="tr1" onMouseMove ="focus(tr1)" onMouseOut ="original(tr1)">
            <td><label for="fname">First Name :<label></td>
            <td><input type="text" id="fname" col="30"></input></td>
        </tr>
        <tr id="tr2" onMouseMove ="focus(tr2)" onMouseOut ="original(tr2)">
            <td><label for="lname">Last Name : </label></td>
            <td><input type="text" id="lname" col="30"></input></td>                
        </tr>
    </table>
</fieldset>
</form>
</div>
<br/>
</body>
</html>

javascript函數如下

function focus(e_id){
var element = document.getElementById("e_id").style.backgroundColor ="blue";
}

function original(e_id){
var element = document.getElementById("e_id").style.backgroundColor="green";
}

建議使用“ focus(this)”或“ focus(this.id)”作為參數分別傳遞元素本身或元素ID,以閱讀有關該主題的先前文章。 嘗試過,但沒有用。

誰能幫我解決這個問題?

我認為您的主要問題可能是您使用的是"e_id" (字符串)而不是e_id (變量標識符)。

這是使用不正確的引號的問題。

 function elfocus(e_id){ // do not use quotes around e_id in order to use the function argument var element = document.getElementById(e_id).style.backgroundColor ="blue"; } function original(e_id){ var element = document.getElementById(e_id).style.backgroundColor="green"; } 
 <p style="font-size:20px;font-weight:bold"> Enter values or choose options in the form below .</p> <div id="d1"> <form id="f1" action="" method="post"> <fieldset> <legend><a name="pdet"></a>Personal Details</legend> <table id="t1" width="400" height="auto" rows="4" cols="2"> <tr id="tr1" onMouseMove ="elfocus('tr1')" onMouseOut ="original('tr1')"> <!-- put single quotes arount tr1 so that it is passed as a string --> <td><label for="fname">First Name :<label></td> <td><input type="text" id="fname" col="30"></input></td> </tr> <tr id="tr2" onMouseMove ="elfocus('tr2')" onMouseOut ="original('tr2')"> <td><label for="lname">Last Name : </label></td> <td><input type="text" id="lname" col="30"></input></td> </tr> </table> </fieldset> </form> </div> <br/> 

我還重命名了focus函數,因為window.focus已經是一個現有函數,因此事件偵聽器可能不會使用您的實現。

暫無
暫無

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

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