• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:popupでテキストフォームに入力する これを評価して欲しいのです)

popupでテキストフォームに入力するこれを評価して欲しい

このQ&Aのポイント
  • popupでテキストフォームに入力することを評価して欲しいです
  • IE6以上の動作でテキストフォームに入力することを評価して欲しいです
  • 他の方々からのアドバイスを受けながらテキストフォームに入力することを評価して欲しいです

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

仕様としては、 コンテキストメニューからコピペの操作をする事があるので、 それが使えなくなるのがつらいです。 他の誰かは別のよく使う機能を登録してるかもしれないし。 また、「右クリックで一覧から選択できます。」みたいな説明が必要になるもの野暮ったいし、自分なら [入力フィールド][?/▼] みたいな、横に置いたテキストリンクやボタンから開く方法を採ると思います。 IE限定って事で、この辺りは全く心配無用なのかもしれませんが一応。 プログラム的には、 「Javascript メモリ リーク」で検索してみてください。 (正直、私はわかってないので解説不能です。これにあたるのかどうかもわかりません。)

noname#84373
質問者

補足

ご意見ありがとうございます。 メモリリークですか・・とりあえず初耳なのでタスクマネージャーの メモリ使用量をチェックしながらそれを勉強してます。 そんなに増えてない?ような気がしているので、自分のレベルでは、まぁ~いいかっ!と流す予定です。 それと、onload の時にtitle とか▼マークとか、付け加えようと思っています。CSSでイメージを背景に・・・。 コピペはまったく考えてませんでした。 まぁ~つけようと思えば付けられそうです。 本来の目的がradioとかの代用でした。phpとかからHTMLを生成するとき面倒で、これならLISTに並べるだけですみます。 とにかく有難うございます。 本当に奥が深い。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • popupウィンドウでborderがcollapseなテーブル利用の問題

    popupウィンドウにテーブルを使用していて、 border-collapse: collapse のボーダーがある場合に、 初期表示時点で、そのボーダーのみが表示されてしまいます。 firefox,operaでは起きずIE6で起きます。 そこで非表示にするためのjavascript をonloadで動かしているのですが、 データ量の大きいページだと、表示された後に消えるのが 見えてしまい不細工です。 最初から枠が表示されないようなcssの指定方法はないでしょうか。 <html> <head> <script> <!-- function PopupOn(Msg){ if(document.all){ MyMsg = document.all(Msg).style; MyMsg.visibility = "visible"; } else if(document.layers){ MyMsg = document.layers[Msg]; MyMsg.visibility = "show"; } else if(document.getElementById){ MyMsg = document.getElementById(Msg).style; MyMsg.visibility = "visible"; } } function PopupOff(Msg){ if(document.all) document.all(Msg).style.visibility = "hidden"; else if(document.layers) document.layers[Msg].visibility = "hide"; else if(document.getElementById) document.getElementById(Msg).style.visibility = "hidden"; } //--> </script> <style> <!-- #poplink {position:absolute;left:0px; top:30px; z-index:9; visibility:hidden;} #poplink table {border-collapse: collapse; background-color: #ffffff;} #poplink td {border: 2px solid #00ffff; } //--> </style> </head> <body onload="PopupOff('poplink')" > <div id="poplink"> <table width="80px" height="80px"> <tr><td> [<a onClick="PopupOff('poplink')">閉じる</a>]<br /> ポップアップ </td></tr></table> </div> <a href="#" onClick="PopupOn('poplink')">リンク</a><br /> </body> </html>

    • ベストアンサー
    • HTML
  • 宣言してないとエラーが出ます

    あるサイトで戴いてきたJAVAスクリプトなのですが xNodeは宣言してませんとエラーが出ますどなたかご教授頂けませんか? HTML> <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"/> <script type="text/javascript" src="./popup.js"></script> <title></title> </head> java> var imgNode = null; function popupImage( filepath ){ var y = 0; if( document.all ){ y = document.body.scrollTop + 32; if( ! imgNode ){ imgNode = document.createElement('img'); imgNode.setAttribute( 'src' , filepath ); imgNode.onclick = closeImage; } } else if( document.implementation ){ y = window.pageYOffset + 32; if( ! imgNode ){ imgNode = document.createElement('img'); imgNode.setAttribute( 'src' , filepath ); imgNode.addEventListener('click' ,closeImage , true); } } else{ return false; } imgNode.style.position = 'absolute'; imgNode.style.left = '32px'; imgNode.style.top = y + 'px'; imgNode.style.borderColor = '#0099FF'; imgNode.style.borderWidth = '2px'; imgNode.style.borderStyle = 'solid'; imgNode.style.margin = '0'; document.body.appendChild(imgNode); document.body.appendChild(xNode); } function closeImage(){ if( imgNode ){ document.body.removeChild(imgNode); imgNode = null; } }

  • XHTML(厳格)でJavaScriptが動かない

    ソースを書くと見ずらいので、 URLで提示しますと http://martin.p2b.jp/index.php?UID=1115484023 の部分ですが、 d.body.appendChild(imgPop); (d=document と宣言されているとする) で、エラーもなく、どのブラウザーでも何も動いてくれません。 ちなみに、XHTMLで奨励されている Content-type: application/xhtml+xml で出力するようにしています。 (metaでは一切宣言してません) これを普通に、text/html に出力させるだけで 動作するのはするのですが・・・ どなたか、mime type を変更せずに 解決できる方はいらっしゃいますでしょうか? よろしくお願いします。 p.s. d.body.innerHTML="hoge"; はできるようです。 ------------ 見ずらいですが、ソースはこちら var d=document; function getClientWidth(){ if(self.innerWidth){ return self.innerWidth; } else if(d.documentElement && d.documentElement.clientWidth){ return d.documentElement.clientWidth; } else if(d.body){ return d.body.clientWidth; } } function getClientHeight(){ if(self.innerHeight){ return self.innerHeight; } else if(d.documentElement && d.documentElement.clientHeight){ return d.documentElement.clientHeight; } else if(d.body){ return d.body.clientHeight; } } function getScrollY(){ if(typeof window.pageYOffset != "undefined"){ return window.pageYOffset; } else if(d.body && typeof d.body.scrollTop != "undefined"){ if(d.compatMode == 'CSS1Compat'){ return d.documentElement.scrollTop;; } return d.body.scrollTop; } else if(d.documentElement && typeof d.documentElement.scrollTop != "undefined"){ return d.documentElement.scrollTop; } return 0; } var imgPop = null; imagePop = function (e, path, w, h){ if(imgPop==null){ imgPop = d.createElement("IMG"); imgPop.src = path; with (imgPop.style){ position = "absolute"; left = Math.round((getClientWidth()-w) / 2) + "px"; top = Math.round((getClientHeight()-h) / 2 + getScrollY()) + "px"; margin = "0"; zIndex = 1000; border = "4px groove Teal"; display = "none"; } d.body.appendChild(imgPop); if(imgPop.complete){ imgPop.style.display = "block"; } else window.status = "画像読み込み中…"; imgPop.onload = function(){imgPop.style.display="block"; window.status="";} imgPop.onclick = function(){d.body.removeChild(imgPop);imgPop=null;} imgPop.title = "マウスクリックで閉じます"; } }

  • HTMLでテキスト入力し表示させる

    HTMLでテキストボックスに文字を入力し、表示させたいのですがうまくできません。 見た目はできているようなのですが、文字が表示されない状態です。 コードを記載しますので、お手数をお掛けしますがご教授頂けますでしょうか。 <html> <head> <script> function add(){ document.getElementById("target").innerText = document.getElementById("name").value; target = document.getElementById("output"); document.write(target); } </script> </head> <body> <p>名前を入力してください</p> <input id="name" name="name" type="text" size="30" onkeydown="update_field();"> <br> <input type="button" onclick="add()" value="実行"> <form action="index.html" method="post"> <br> <input type="submit" name="exit" value="戻る"> </form> </body> </html>

  • 画像の座標位置取得

    javascriptの勉強を始めたばかりで、どうしてもわからないことがあるので質問させてください。(まだ初めて一週間程度の初心者です…) マウスの座標を取得するのはなんとなくわかったのですが、画像の座標をどうやって取得すればいいのかがわかりません。(マウスはevent.offsetで取得してるのでそれに合わせたい) 例えば… function lyrGetTop(lyr){ return( parseInt( document.getElementById(lyr).style.pixelTop ) ); } で、画面全体の位置からの座標を取得するのはできたのですが、ブロック内(?)の位置から取得することができません…。 どのようにすればevent.offsetでのマウスの座標ようにブロックを基準とした座標を取得することができますか? それから、シューティングゲームの自機が弾を連射するようなアルゴリズムがわかりません。 <html> <head> <title></title> <script language="JavaScript"><!-- y = 450; interval = 20; function moveBall(){ y = y - interval; document.getElementById("ball").style.pixelLeft = getlyrleft("ber") + 24; document.getElementById("ball").style.pixelTop = y; document.getElementById("ball").style.visibility = "visible"; if( (y < 10) ){ document.getElementById("ball").style.visibility = "hidden"; document.getElementById("ball").style.pixelTop = getlyrtop("ber"); return 0; } } function getlyrtop(lyr){ return(parseInt(document.getElementById(lyr).style.pixelTop)); } function getlyrleft(lyr){ return(parseInt(document.getElementById(lyr).style.pixelLeft)); } // --></script> </head> <body onclick="setInterval('moveBall()',1)"> <img src="bb01.gif" id="ball" style="position:absolute; visibility:hidden" left:0px;top:16px;"> <img src="bb03.gif" id="ber" style="position:absolute; left:445px; top:459px;"/> </body> </html> これだと、連射どころか、二回目のクリックに反応すらしないんです…。 どうかご教授お願いします。

  • 検索フォームの入力値のチェック

    以下は、いくつもある検索フォームの中のテキストボックスの一つです。 ここに、次のエラーチェックを仕込みたいのですが。 (1) 17で始まる8桁数字以外はアラートを出す。NULLもダメ。 (2) 半角数字以外が入力されたときは、フォーカスが離れた時アラートを表示NULLはOK。 (3) ここに示していないその他のフォームを含め、一個でも上記エラーがあったら   検索ボタン押下時にアラートを出し、POSTを許可しない。 いろいろエラーになったり、(1) ができてなかったりで、すみませんが 完璧にするためのアドバイスいただけないでしょうか。IE6オンリーで十分です。 <html> <head> <script type="text/javascript"> function NullCheck() { if ( document.query.numberform.value=="" ) { alert( "必ず17で始まる半角数字8桁で指定してください。\n例:17910031" ); return 1; } return false; } function NumbCheck() { var str = document.query.numberform.value; if( str.match( /[^0-9]+/ ) ) { alert("不正な値がみつかりました。"); return 1; } return 0; } /* 全部チェック */ function AllCheck() { var check = 0; check += NullCheck01(); check += nmck09(); if( check > 0 ) { return false; } return check; } </script> </head> <body> <form method="post" action="list.php" target="list" id="query" name="query"> <input value="17000000" size="10" type="text" name="numberform" onblur="NumbCheck();NullCheck();">から <input type="submit" name="exec" value="検索" onclick="return AllCheck();"> </form> </body> </html>

  • 最速コードに挑戦!?

    BASICを思い出してPSETを書いてみました。 LINE文を作りたいのですが、最速になるアルゴリズムをご存知の方は いらっしゃいますか? <html> <body> <input type="button" value="Test C.G." onClick=" for(i=0;i<3800;i+=.5){ pset(350-Math.cos(i*3.14519/90)*300,350-Math.sin(i*3.14519/85)*300,'#f00'); } "> <script> function pset(x,y,c){ var p = document.createElement('div'); with(p){ style.position='absolute'; style.top=x+'px'; style.left=y+'px'; style.color=c; appendChild(document.createTextNode('.')); } document.body.appendChild(p); } </script>

  • ポップアップウインド

    下記のスクリプトでポップアップウインド内に『ポップアップを閉じるためのスイッチ』を設置したいのです。  -----よろしくお願いします。----- <HTML> <HEAD> <TITLE>createPopup</TITLE> <SCRIPT> <!-- var oPopup = window.createPopup(); oPopup.document.body.onclick = fOnclick; oPopup.document.body.oncontextmenu = fOncontextmenu; function fOnclick() { var oSrcElement = oPopup.document.parentWindow.event.srcElement; if (oSrcElement.tagName == 'A') { window.navigate(oSrcElement.href); } } function fOncontextmenu() { return false; } function fShow() { oPopup.document.body.style.background = '#ffffee'; oPopup.document.body.style.border = 'outset 1px'; oPopup.document.body.style.padding = '1px'; oPopup.document.body.innerHTML = oSpan.innerHTML; oPopup.show('100', '30','200','200',document.body); } function fHide() { oPopup.hide(); } //--> </SCRIPT> </HEAD> <BODY onload="fShow()"><SPAN style="display:none" id="oSpan" onclick="fHide();"><A href="http://www.w3.org">createPopup</A><BR> <A href="http://www.google.co.jp">show</A><BR> <A href="http://www.yahoo.co.jp">hide</A><BR> <A href="http://java.sun.com">isOpen</A><BR> </SPAN><INPUT type="button" value="show" onclick="fShow()"><INPUT type="button" value="hide" onclick="fHide()"> </BODY> </HTML>

  • javascript return について

    javascript return の使い方について こんにちは。 javascriptでhtmlとjavascriptを分けて書く方法を勉強中です。 ○html文 <a href="" name ="linkMaxcd" id ="linkMaxcd">最大値</a> ○javascript文 1)document.getElementById("linkMaxcd").onclick=function(){return maxcd();} 2)function maxcd(){    省略   return false;   } この構文の流れは、 (1)htmlの最大値というテキストリンクをクリックする (2)javascript 1)のonclickしたら、maxcdのfunctionを実行する (3)javascript 2)の省略を行い、return false;でfalseを返す ということだと思います。 javascript 2)のreturn false; のfalseは、何処に戻るのですか? ○javascript参考 1')document.getElementById("linkMaxcd").onclick=function(){maxcd();} 2')function maxcd(){    省略   } もともと上記のjavascript参考にreturnを付け加えたところで、理解できなくなりました。 returnの付け方は、javascript参考サイトの手順に書いてありました。 よろしくお願いします。 以上

  • googlemapsAPIでマーカー表示されない

    googlemaps APIを使ったマッシュアップサイトを作る練習を本を見ながらやっていますが、 本のとおりプログラミングしても地図は表示されるのですがマーカーが表示されません。 (アップロードする前にfirefoxで確認) とりあえずv2で製作しています。 マーカーを表示させる方法を教えてください。 下記がjavascriptファイルです。よろしくお願いします。 var map window.onload = function() { load(); } function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("mymap")); map.setCenter(new GLatLng(35.6829, 139.7653), 13); } } function _d(id, htmlTxt) { document.getElementById(id).innerHTML = htmlTxt; } function createDiv(id,left,top) { var outDiv; outDiv =document.createElement('div'); outDiv.id = id; document.body.appendChild(outDiv); var tgdStyle = document.getElementById(id).style; tgdStyle.position = "absolute"; tgdStyle.left = left + "px"; tgdStyle.top = top + "px"; tgdStyle.background = "white"; } function removeDiv(id) { var outDiv = document.getElementById(id); document.body.removeChild(outDiv); } function varChk(target,type) { { return typeof(target) == type ? true : false; } } function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("mymap")); map.setCenter(new GLatLng(35.6829, 139.7653), 5); map.addControl(new GScaleControl()); map.addControl(new GLargeMapControl()); map.addControl(new GOverviewMapControl(new GSize(128,128))); } } function createGMarker(title, html, lat, lng) { var infoObj = new Object(); infoObj.title = title; var gpObj = new GLatLng(lat, lng); var marker = new GMarker(gpObj, infoObj); map.addOverlay(marker); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); }); }