テキストボックスからテキストを取得しようとしています。
フォームにない2つの入力テキストボックスがあり、value
を取得して変数に保存しようとしています。
このコードは、ポップアップする警告ボックスにundefined
を返します。
<script>
var userPass = document.getElementById('pass');
var userName = document.getElementById('fName');
function submit(){
alert(userPass.value);
}
</script>
userName.value
をアラート関数のパラメーターとして実行すると、機能し、ボックスに入力した内容が表示されます。
Htmlは次のとおりです。
<table id="login">
<tr>
<td><label>User Name</label></td>
</tr>
<tr>
<td colspan="2"><input class="textBox" id="fName" type="text" maxlength="30" required/></td>
</tr>
<tr>
<td id="pass"><label>Password</label></td>
<tr>
<td colspan="2"><input class="textBox" id="pass" type="text" maxlength="30" required/></td>
</tr>
<tr>
<td><input type="button" class="loginButtons" value="Login" onclick="submit();"/>   
<input type="button" class="loginButtons" value="Cancel"/></td>
</table>
input
タグに値attrがないことに気付くでしょう。
また、表示されていませんが、Javascriptが実行されていることを確認してくださいafter htmlが配置されています。
<script>
function submit(){
var userPass = document.getElementById('pass');
var userName = document.getElementById('user');
alert(user.value);
alert(pass.value);
}
</script>
<input type="text" id="user" />
<input type="text" id="pass" />
<button onclick="submit();" href="javascript:;">Submit</button>
//注:「this.pass」と「this.name」を使用すると、関数内にある場合でもグローバル変数が作成されるため、命名規則に飽きてください
function submit()
{
var userPass = document.getElementById("pass").value;
var userName = document.getElementById("user").value;
this.pass = userPass;
this.name = userName;
alert("whatever you want to display");
}
同じIDを持つ複数の要素があります。それは大きなノーノーです。入力にnique idがあることを確認してください。
<td id="pass"><label>Password</label></td>
<tr>
<td colspan="2"><input class="textBox" id="pass" type="text" maxlength="30" required/></td>
</tr>
td
とinput
の両方がid値pass
を共有しています。
Javascript document.getElementById( "<%= contrilid.ClientID%>")。value;またはjqueryを使用
$( "#<%= txt_iplength.ClientID%>")。val();
td
要素からid="pass"
を削除します。現在、jsは入力ではなくtd要素を取得するため、値は未定義です。
これは、電子メールとjavascriptのサンプルコードです。
params = getParams();
subject = "ULM Query of: ";
subject += unescape(params["FormsEditField3"]);
content = "Email: ";
content += unescape(params["FormsMultiLine2"]);
content += " Query: ";
content += unescape(params["FormsMultiLine4"]);
var email = "[email protected]";
document.write('<a href="mailto:'+email+'?subject='+subject+'&body='+content+'">SUBMIT QUERY</a>');