disabledの点で2

このQ&Aのポイント
  • 過去に入力したテキストを選択すると、別のテキスト入力欄が使用できなくなる仕様です。
  • 数字を入力してもテキスト入力欄に文字を入力できるようにするにはどうすればいいですか?
  • onChange以外の方法を使用して、この処理を実行することはできますか?
回答を見る
  • ベストアンサー

disabledの点で。2

また同じソースでの質問なのですが、以下のようなソースで、1のテキストボックスに過去に入力したもの(プルダウンみたいに下がって出てくる履歴のようなもの)を選択すると、2の方の入力ができなくなります。履歴の数字を入れても2の方に記入できるようにするにはどのようにしたら良いのでしょうか。また、これらの処理を行うとき、onChange以外のものを使ってできるのでしょうか?大変困っております、よろしくお願いします。 <html> <head> <title></title> <script language="JavaScript"> <!-- function setTF(){ if(document.form1.text1.value=="") document.form1.text2.disabled = true; else document.form1.text2.disabled = false; } //--> </script> </head> <body> <form name="form1"> 1<INPUT type="text" name="text1" onChange="setTF()"> 2<INPUT type="text" name="text2" disabled> <INPUT type="submit" value="登録" onClick="return setTF()" name="submit"> </form> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • urusyun
  • ベストアンサー率52% (10/19)
回答No.1

ちょっと、状況がわからないのですが、IEのオートコンプリート機能のことでしょうか… とりあえず、回避方法としては、 onChange(内容変更時)ではなく、 onBlur(フォーカス喪失時:カーソルがほかの場所に行ったとき)を 使用すればよいのではないでしょうか。 onBlurを使うと、困った状況に陥ることも多々あるのですが、この場合は問題ないと思います。 意図していることが違っていたら、ごめんなさい。

tohiyo
質問者

お礼

こちらの方もなんとか解決できました。ありがとうございました。

関連するQ&A

  • disabledの点で。

    このソースを開いて、更新ボタンをクリックすると、 2の方のテキストボックスが半透明になりますが、それは半透明にしないようにすることは可能なのでしょうか。 お願いします。 <html> <head> <title></title> <script language="JavaScript"> <!-- function setTF(){ if(document.form1.text1.value=="") document.form1.text2.disabled = true; else document.form1.text2.disabled = false; } //--> </script> </head> <body> <form name="form1"> 1<INPUT type="text" name="text1" onChange="setTF()"> 2<INPUT type="text" name="text2" disabled> <INPUT type="submit" value="登録" onClick="return setTF()" name="submit"> </form> </body> </html>

  • disabledのフィールドパラメータについて

    以下のようなフォームでdisabledになったテキストフィールドは、 値として渡されるのでしょうか? <form> <input type="text" name="test1" value="a" disabled> <input type="submit"> </form>

    • ベストアンサー
    • HTML
  • name属性に[]付の名前を指定した処理

    理由があり、下記の様にname属性に配列(?)を指定しています。(下記はスクリプトエラーになります。) <HTML> <HEAD> <script language="JavaScript"><!-- function input(obj1, obj2) { obj2.value = obj1.value } // --></script> </HEAD> <BODY> <FORM name="myform"> <INPUT type="text" name="text[1]" onchange="input(this, document.myform.text[2])" /> <INPUT type="text" name="text[2]" onchange="input(this, document.myform.text[1])" /> </FORM> </BODY> </HTML> 当然ながら、text[1]をtext1にし、text[2]をtext2にすれば全く問題無く動作します。nameとしてこのままtext[n]のままでこのエラーを回避するにはどうしたらいいのでしょう。以上、よろしくお願いします。

  • JavaScriptのdisabledがうまく動かない

    以下のソースで、JSの箇所(disabled)だけですと動くのですが、送信フォームを追加すると、エラーになってしまいます。 <HTML> <HEAD> <TITLE></TITLE> <script language=javascript1.2> <!-- function textboxdisable(state){ var len = document.forms["form1"].f_level2.length; for(var i=0;i<len;i++) {document.forms["form1"].f_level2[i].disabled=!state;} } //--> </script> <input type="submit" value="送信"> <FORM action="test.html" method="POST" target="_blank"> <form name=form1> <tr><td align="right"> <input type="checkbox" name="f_level" value="f_level" onclick="textboxdisable(this.checked)">登録レベル</td> <td><input type="radio" name="f_level2" value="main" disabled>主メール <input type="radio" name="f_level2" value="sub" disabled>サブメール</td></tr> </form> </BODY> </HTML> どこが悪いのか、もうかれこれ半日考えています・・ 分かる方いらっしゃいましたら、教えていただけますでしょうか。

  • 同じFunctionで、同じ計算させたいのですが

    私は今、以下のようにここで教えていただいたプログラムを参考に組んでは見たものの、同じ行をいくつもコピペすると計算されなくなってしまいます。1行だけの計算でしようとするとうまく計算されるのですが・・・ <HTML> <HEAD> <TITLE> タイトルバーに表示されるテキスト </TITLE> <SCRIPT LANGUAGE="JavaScript"> <!--JavaScript function SUM(){ if(!isNaN(document.sum.text1.value) && !isNaN(document.sum.text2.value) && !isNaN(document.sum.text3.value) && document.sum.text1.value && document.sum.text2.value && document.sum.text3.value){ document.sum.text4.value = eval(document.sum.text1.value) + eval(document.sum.text2.value) - eval(document.sum.text3.value) } if( !isNaN(document.sum.text5.value) && !isNaN(document.sum.text6.value) && document.sum.text5.value && document.sum.text6.value){ document.sum.text7.value = eval(document.sum.text4.value) + eval(document.sum.text5.value) + eval(document.sum.tex6.value) } } //--> </SCRIPT> </HEAD> <BODY> <FORM NAME="sum" onSubmit="SUM();return false;"> A<INPUT TYPE="text" NAME="text1" onChange="SUM()" SIZE="10"><BR> B<INPUT TYPE="text" NAME="text2" onChange="SUM()" SIZE="10"><BR> C<INPUT TYPE="text" NAME="text3" onChange="SUM()" SIZE="10"><BR> D=A+B-C<INPUT TYPE="text" NAME="text4" onChange="SUM()" SIZE="10"><BR> E<INPUT TYPE="text" NAME="text5" onChange="SUM()" SIZE="10"><BR> F<INPUT TYPE="text" NAME="text6" onChange="SUM()" SIZE="10"><BR> G=D+E+F<INPUT TYPE="text" NAME="text7" onChange="SUM()" SIZE="10"><BR> </FORM> </BODY> </HTML>

  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • 登録した後のデータについて

    以下のようなプログラムで、テキストボックスの初期値に「あいうえお」を設定しておきます。「書く」を選択してテキストボックスに記入し、「登録」をクリックすると、サーバーの方にテキストボックスに書かれたものが登録されますが、「書かない」の方を選択すると、テキストボックスへの入力が無効になり、半透明になりますが、この際「登録」をクリックすると、サーバーの方には何が登録されたのでしょうか? 自分の考えだと、初期値の「あいうえお」は設定されずにNULLが設定されるのではないかと思うのですが・・至急回答をお願い致します。 <HTML> <head> <title></title> <SCRIPT language="JavaScript"> <!-- function kaku(){ if( document.form1.radi[1].checked == true) document.form1.text1.disabled = false; else document.form1.text1.disabled = true; } //--> </SCRIPT> </head> <body onLoad="kaku()"> <form name="form1"> <INPUT type="radio" name="radi" value="no" checked onBlur="kaku()">書かない<br> <INPUT type="radio" name="radi" value="yes" onBlur="kaku()">書く <p> 名前<INPUT type="text" name="text1" size="30" value="あいうえお" maxlength="16" disabled> <p> <INPUT type="submit" value="登録" name="submit1"> </form> </body> </HTML> ※このソースは試しに書いてみたので、実際には登録されないと思います・・・

  • VBSからjavascript

    下記ソースの指定の箇所からjavascriptのfunction fun1(1)をよびたいのですがどう記述したらいいでしょうか。 (ちなみにbody onload=は使わない条件です) <%@ LANGUAGE = VBSCRIPT %> <html> <head> <script type="text/javascript"> <!-- //禁止、許可 function fun1(is){ var is; var i; var jj; jj=document.form1.text2.length; for (i=0;i<jj;i++){ if (is==1) document.form1.text2[i].disabled=true; if (is==2) document.form1.text2[i].disabled=false; } } //--> </script> </head> <html> <body> <form name="form1"> <input type="text" name="text2" size="14" maxlength="8" value="ABC"> <input type="text" name="text2" size="14" maxlength="8" value="DEF"> <% <-------------------ここでfun1(1)をよびたい fun(1)と書いてもエラー >% </form> </body> </html>

  • insertRowメソッド内で計算式を書く方法

    http://jsajax.com/Articles/TableInsertRow/157を参考に、[行を挿入]ボタンをクリックすると最終行の下に行が追加され、その中にテキストボックスを配置し計算を行うようにしたいと思い、下記のソースを記述しました。 そして追加した行で正常に計算を行うために、insertRow内のinnerHTMLのgoods_a_3の3の部分を動的に設定したり、calc内の計算式を動的にループさせる必要があると思ったのですが、どのように記述すれば良いか分からなかったため、アドバイスいただける方がいらっしゃいましたら、ご教示の程、よろしくお願いします。 <script type="text/javascript"> <!-- window.onload = function() { document.getElementById("btnInsert").onclick = insertRow; } function insertRow() { var tbl = document.getElementById("Table1"); var row = tbl.insertRow(2); var cell1 = row.insertCell(0); var cell2 = row.insertCell(1); var cell3 = row.insertCell(2); cell1.innerHTML = "<input type=\"text\" name=\"goods_a_3\" size=\"3\" value=\"0\" onchange=\"calc();\" />*"; cell2.innerHTML = "<input type=\"text\" name=\"goods_b_3\" size=\"3\" value=\"0\" onchange=\"calc();\" />="; cell3.innerHTML = "<input type=\"text\" name=\"ans3\" size=\"8\" value=\"0\" disabled=\"disabled\" />"; } function calc(){ document.form1.ans1.value = document.form1.goods_a_1.value * document.form1.goods_b_1.value; document.form1.ans2.value = document.form1.goods_a_2.value * document.form1.goods_b_2.value; } // --> </script> </head> <body> <form action="#" name="form1" id="form1"> <table id="Table1" border="1"> <tr> <td><input type="text" name="goods_a_1" size="3" value="0" onchange="calc();" />*</td> <td><input type="text" name="goods_b_1" size="3" value="0" onchange="calc();" />=</td> <td><input type="text" name="ans1" size="8" value="0" disabled="disabled" /></td> </tr> <tr> <td><input type="text" name="goods_a_2" size="3" value="0" onchange="calc();" />*</td> <td><input type="text" name="goods_b_2" size="3" value="0" onchange="calc();" />=</td> <td><input type="text" name="ans2" size="8" value="0" disabled="disabled" /></td> </tr> </table> </form> <br /> <input id="btnInsert" type="button" value="行を挿入" /> 以上、よろしくお願いします。

  • フォームに表示される文字をセンタリングさせたい。

    Javascriptの初心者です。宜しくお願いします。 テキストエリアが2つあったとします。 1のテキストエリアにある値を入力してボタンを押すと、 2のテキストエリアに1で入力した値をそのまま表示させ、 尚且つ表示された値をフォーム内でセンタリングさせたいのですが どうすればよいのかわかりません・・・。 ご存知の方がいらっしゃいましたら教えて下さい。 どうぞ宜しくお願い致します。 <html> <head> <script language="JavaScript"> <!-- function my1() { a=document.form1.text1.value; document.form1.text2.value=a; } //--> </script> </head> <body> <form name="form1"> <input type="texterea" name="text1"> <input type="texterea" name="text2"> <input type="button" value="CLICK!" onClick="my1()"> </form> </body> </html>

専門家に質問してみよう