java script かajaxのカテゴリーだと思います。

受注管理のシステムを作成しております。
PHP 5.x
MySQL 5.x
です。

管理者が商品受注のデータを入力する際に、商品名をプルダウン等で選ぶのがイヤで
商品コード(例:1001等)を手打ちで入力して、その瞬間その画面で、商品名と金額を呼び出して、あとは個数を入れる
という作業を10商品くらい繰りかした後、単価×個数を全て計算して合計金額をその場で
表示されることはできないでしょうか?

どなたかお詳しい方、お知恵を貸してください!!

このQ&Aに関連する最新のQ&A

A 回答 (6件)

そして、さっそくていせい。


これらしきところを、これに。

  ajax ('sql.php', 'post', {sql: 'SELECT name, tanka FROM database_name WHERE id=' + cd + ' LIMIT 1'}, function (res) {

やっつけでかいたから、うごかせないなら、あきらめてね
    • good
    • 0

その2



(function () { // Ajax

 if ('undefined' === typeof XMLHttpRequest)
  this.XMLHttpRequest =
   (function () {
    for (var i = 0, h; h = arguments[i++];)
     try { h (); return h; } catch (err) { ; }
    return null;
   })(function () { return new ActiveXObject ('Msxml2.XMLHTTP.6.0') },
     function () { return new ActiveXObject ('Msxml2.XMLHTTP.3.0') });
 

 var obj2str =
  (function (obj) {
   var p = [];
   var i, I, k, q, idx, key, val;

   switch (typeof obj) {
   case 'string' :
    obj = obj.split ('\u0026');
    for (i = 0, I = obj.length; i < I; i++) {
     if (q = obj[i]) {
      idx = q.indexOf ('=');
      if (-1 === idx)
       break;
      key = encodeURIComponent ( q.substring (0, idx));
      val = encodeURIComponent ( q.substring (idx + 1)) || '';
      p.push (key + '=' + val);
     }
    }
    return (p.length) ? '\u0026' + p.join ('\u0026'): '';
   
   case 'object' :
    for (i in obj)
     if (obj.hasOwnProperty (i))
      p.push (encodeURIComponent (i) + '=' + encodeURIComponent (obj[i]));

    return (p.length) ? '\u0026' + p.join ('\u0026'): '';
   }
  });


 var ajax =
  (function (uri, method, parameter, callbackfn, callbackobj) {
   var httpObj;
   var para;

   if (httpObj = new XMLHttpRequest) {
    para = 'SendTime=' + (new Date).getTime() + obj2str (parameter);
    
    if ('GET' === method.toUpperCase ())
     uri += '?' + para;

    httpObj.open (method, uri, true);
    httpObj.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
    httpObj.onreadystatechange =
     function () {
      if (4 === httpObj.readyState) {
       try {
        if (200 === httpObj.status)
         callbackfn.call (callbackobj, httpObj.responseText);
       }
       catch (err) { ; }

       httpObj.onreadystatechange = new Function;
       uri = method = parameter = callbackfn = callbackobj = httpObj = para = null;
      }
     };

    httpObj.send (para);
   }
  });

 this.ajax = ajax;
})();
</script>
    • good
    • 0

すくりぷとぶぶんをぶんかつ。


<script>
var table = document.getElementById ('hoge');

function calculate () {
 var tr = table.querySelectorAll ('tbody > tr');
 Array.forEach (tr, function (tr, idx) {
  var inp = tr.querySelectorAll ('input');
  
  var up = parseFloat (inp[2].value);
  var qt = parseFloat (inp[3].value);
  var pr = 0;
  
  if (idx === this.max)
   inp[4].value = this.total;
  
  else if (isNaN (up) || isNaN (qt))
   return;
  
  else {
   inp[4].value = (pr = up * qt);
   this.total += pr;
  }

 }, {max: tr.length - 1, total : 0});
}

function handler (evt) { /*@cc_on*/
 var e = evt./*@if (@_jscript) srcElement @else@*/ target /*@end@*/;
 var tr = e.parentNode.parentNode;
 var inp = tr.querySelectorAll ('input');
 var cd;
 
 switch (e.name) {
 case 'qt' : case 'up' :
  calculate ();
  break;
 case 'cd' :
  cd = e.value;
  ajax ('sql.php', 'post', {sql: 'SELECT name, furigana FROM zenkohdo.shain WHERE id=' + cd + ' LIMIT 1'}, function (res) {
   var rec;
   if (! /^Error/.test (res)) {
    rec = res.split (/\u001f/g);
    this[1].value = rec[0];
    this[2].value = rec[1];
    this[3].focus ();
   }
  }, inp);
  break;
 }
}

table./*@if (@_jscript)
 attachEvent ('onfocusout' + @else@*/
 addEventListener ('blur'/*@end@*/,
  handler, true);

(function (t) {
 var tbody = t.querySelector ('tbody');
 var tr = tbody.querySelector ('tr');
 var max = 10;
 
 while (--max)
  tbody.appendChild (tr.cloneNode (true));
})(table);
    • good
    • 0

ajaxをとうさいしてみる


でんじゃらすだし、すくりぷとからSQLぶんをおくるなんてもってのほかだけど、やってみる。
うごかせないなら、あきらめようね
まずは、sql.php として

<?php
mb_language ('Japanese');

define ('HOST', '127.0.0.1');
define ('USER', 'root');
define ('PASS', 'xxxxxxxxxxx');

$ID = mysql_connect (HOST, USER, PASS);
if ($ID) {
 $sql = $_POST['sql'];
 if ($sql) {
  $R = mysql_query ($sql, $ID);
  
  if ($R) {
   while ($r = mysql_fetch_array ($R, MYSQL_NUM))
    $b[] = join (chr (31), $r);

   exit (join (chr (30), $b));
  }
 }
}
exit ('Error');
?>
    • good
    • 0

提案としてこんなUIはどうでしょう。

(コード汚いのは重々承知です。)
※絞込しかやってないです。
<body>
<input type="text" id="inputArea">
<div id="output"></div>
<script type="text/javascript">
/*
@regepan
*/
var inputArea = document.getElementById('inputArea');
inputArea.addEventListener( 'keyup', keyupEvent, false );

var output = document.getElementById('output');

var txt;
var i;
var items = [];
// 初期化
function init()
{
for( i = 0; i < 50; i++ )
{
var obj = {};
var num = Math.floor( Math.random() * 10 ) + '';
num += Math.floor( Math.random() * 10 ) + '';
num += Math.floor( Math.random() * 10 );

obj.id = num;
obj.name = '商品名';
obj.price = 1000;

txt = document.createTextNode( obj.id + ' ' + obj.name + ' ' + obj.price );
var a = document.createElement('a');
a.href = '#';
var p = document.createElement('p');;

a.appendChild( txt )
p.appendChild( a );
output.appendChild( p );

items.push( obj );
}
}
init();
// itemの再構築
function makeList()
{
for( i = 0; i < items.length; i++ )
{
var obj = items[i];

txt = document.createTextNode( obj.id + ' ' + obj.name + ' ' + obj.price );
var a = document.createElement('a');
a.href = '#';
var p = document.createElement('p');;

a.appendChild( txt )
p.appendChild( a );
output.appendChild( p );
}
}
// keyupEvent
function keyupEvent()
{
var pool = [];
var temp;
var str;
var val;
output.innerHTML = '';

for( i = 0; i < items.length; i++ )
{
val = this.value;
val = val.slice( 0, this.value.length );

var item = items[i];
temp = item.id;
temp = temp.slice( 0, this.value.length );
temp -= 0;

if( val == '' )
{
makeList();
break;
}
else
{
if( temp == val )
{
txt = document.createTextNode( item.id + ' ' + item.name + ' ' + item.price );
var a = document.createElement('a');
a.href = '#';
var p = document.createElement('p');

a.appendChild( txt )
p.appendChild( a );
output.appendChild( p );
}// if
}// if
}// for
}// keyupEvent
</script>
</body>
    • good
    • 0

もじすうせいげんがなかったら、もっとかけたのに、ざんねん。


こーどのしつも、ざんねんだけど、ajax は、だれかに!

<!DOCTYPE html>
<title></title>
<style type="text/css">
table, td, th { border :1px #888 solid }
td input[type="text"] { border : 0px none }
</style>
<body>
<form action="#">
<table id="hoge">
<thead><tr><th>コード<th>商品名<th>単価<th>個数<th>金額</thead>
<tbody>
<tr>
<td><input type="text" name="cd" value="" size="10">
<td><input type="text" name="pn" value="" size="20">
<td><input type="text" name="up" value="" size="10">
<td><input type="text" name="qt" value="" size="10">
<td><input type="text" name="pr" value="" size="16">
</tbody>
</table>
</form>

<script>
var table = document.getElementById ('hoge');

function calculate () {
 var tr = table.querySelectorAll ('tbody > tr');
 Array.forEach (tr, function (tr, idx) {
  var inp = tr.querySelectorAll ('input');
  
  var up = parseFloat (inp[2].value);
  var qt = parseFloat (inp[3].value);
  var pr = 0;
  
  if (idx === this.max)
   inp[4].value = this.total;
  
  else if (isNaN (up) || isNaN (qt))
   return;
  
  else {
   inp[4].value = (pr = up * qt);
   this.total += pr;
  }

 }, {max: tr.length - 1, total : 0});
}

function handler (evt) { /*@cc_on*/
 var e = evt./*@if (@_jscript) srcElement @else@*/ target /*@end@*/;
 var tr = e.parentNode.parentNode;
 var inp = tr.querySelectorAll ('input');
 var cd;
 
 switch (e.name) {
 case 'qt' : case 'up' :
  calculate ();
  break;
 case 'cd' :
  cd = e.value;
  // ここにAjaxでよびだすこーどをかく!
  if (cd === '123') {
   inp[1].value = '洋野町名産 塩ウニ';
   inp[2].value = '1800';
  }
  break;
 }
}

table./*@if (@_jscript)
 attachEvent ('onfocusout' + @else@*/
 addEventListener ('blur'/*@end@*/,
  handler, true);

(function (t) {
 var tbody = t.querySelector ('tbody');
 var tr = tbody.querySelector ('tr');
 var max = 10;
 
 while (--max)
  tbody.appendChild (tr.cloneNode (true));
})(table);

</script>
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「どんなときも。」のバラード

以前にとある場所で流れていたのですが、槙原敬之の「どんなときも。」にバラードが存在したのです。
原曲はマーチ調の曲ですが、このバージョンは特に癒されました。
このバラードバージョンの「どんなときも。」が収録されているアルバムがあったら教えて下さい。

Aベストアンサー

 3rdシングルの「どんなときも。」のC/Wとして収録されていますが、アルバムには入っていませんね。インストゥルメンタル・ヴァージョンとして一部なら入っていますが。とてもいい曲調なので、入っていても良さそうですけどねぇ。
 

参考URL:http://st.sakura.ne.jp/~masawo/nm/review_single.html

Q「script」は台本という意味ですがjava scriptはjavaの台本?

よろしくお願いします。
javaとjava scriptは全く別物と聞きますが
そうであれば何故javaの台本という名前なのでしょうか?

「script」は台本とは別の意味なのでしょうか?

全くの素人です。ご教授よろしくお願いします

Aベストアンサー

人気上昇中のjavaの名前にあやかったscript言語。

スクリプト言語の由来はたぶん、台本じゃなくて脚本だと思います。

今ではほとんどのスクリプト言語に出来る事が増えすぎて、
脚本と呼べるほど単調な流れのプログラムだけでなく、様々なプログラムに使われるようになったため、
スクリプト言語という分類は意味をなさなくなったと思います。
(スクリプト言語に対する分類はおそらく「記述言語」、CやPascalなど)

Q槇原敬之「どんなときも。」について

不思議でいつもカラオケに行くと気になることがあります。
「どんなときも。」にはかならずどんなときものあとに。があります。
これって何の。なんでしょうね?
いつも気になってしょうがないのでおしえてください。
お願いします。

Aベストアンサー

この「。」は槇原さん自身が意図的に付けたものです。
「どんなときも」の言葉の後に、何の言葉も続かないように、言い切った言葉にしたかったから、曲のタイトルは「。」を付けたとご本人が言っていたと思います。

うまく説明出来なくてごめんなさい。
確かそうだったと思います。

余談ですがこれは映画「就職戦線異常なし」の主題歌で、「人生の応援歌」みたいのを作って下さいと依頼されて作った曲だそうです。ちなみにコンサートではこの曲、すごい盛り上がります!

Qjava script(ajax?)で取得されたフォーム内容をPOST

java script(ajax?)で取得されたフォーム内容をPOSTで投げる

都道府県をプルダウンで選んで、市区を選んで、町名以下を選択するコードを
ネットで見つけました。
http://www.kawa.net/works/ajax/addrajax/addrajax.html

こちらを使わせ頂いて、住所登録の会員名簿を作成しています。

DBに登録する際、選ばれた住所情報をPOSTで次のページに投げたいのですが、うまくいきません。

上記のURLのプログラムで選んだ都道府県、市区、町名以下の情報をそれぞれpref,city,areaというnameでpostで飛ばすにはどうしたらいいでしょうか・・・?

どうかアドバイスお願いします!

またGETはだめです。画像も一緒に登録しますので・・・。

よろしくお願い致します!

Aベストアンサー

普通にformタグの指定をpostにしておけば良いだけでは?

[参考]<form> - フォーム
http://www.tohoho-web.com/html/form.htm

Q「どんなときも。」のLiveバージョン

槇原敬之さんの「どんなときも。」のLiveバージョンの収録されているCDタイトルを教えてください。

Aベストアンサー

live版三枚共に「どんなときも。」は入っているはず。

THE CONCERT CONCERT TOUR 2002~Home Sweet Home~
SYMPHONY ORCHESTRA“cELEBRATION”
SYMPHONY ORCHESTRA“cELEBRATION 2005”~Heart Beat~

QJAVAスクリプトで商品コードから商品名表示

ホームページに商品コードを入力すると商品名を表示する
簡単なデータベースを設置したいのですが、

JAVAスクリプトを使いHTMLファイル内で可能でしょうか?

商品コードは半角でアルファベットと数字の組み合わせで5・6桁です。

よろしくお願いします。

Aベストアンサー

>HTMLファイル内で可能でしょうか?

html内ではないですが、JavaScriptとテキストファイルのみで実現するなら、
JSONが便利かな。
#データ量にもよりますが・・


http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter03/006/

Q槇原敬之『どんなときも。』のカヴァー

先日、有線で槇原敬之の『どんなときも。』がカバーバージョンで流れていました。

男性ボーカルでパンクバンドっぽい感じだったと思います。
誰が歌っているのかわかる方教えてください!

Aベストアンサー

「HEAVY HITTER All Stars」ですね。

「どんなときも。」ここで試聴できます。

http://www.sonymusic.co.jp/Music/Arch/SR/HeavyHitterAllStars/

Q内のコードの抽出方法

Ajaxで読み込んだHTML文書内にあるスクリプトのコードだけを
抽出したいのですが、正規表現を教えてください。
自分で考えてみたものは、以下の方法です。
これが最良なのかわかりません。
「スクリプトは複数箇所に存在しない」という条件で構いません。
宜しくお願いします。

var HTML = 'ここにHTML';
HTML.match(/.*<script.*>([\w\W]*)<\/script>.*/);
scr = RegExp.$1;
eval(scr);

Aベストアンサー

>改行が
ああそうか・・・ mフラグ付けると どう?
ダメなら [\s\S]* とか使う事になると思うけど・・・

Q槇原敬之さんの「どんなときも。」のversion4って?

今年1月1日に発売された槇原敬之さんのアルバムCD「Best LIFE」に収録されている「どんなときも。Renewed(version4)」がありますが、この「version4」というのは、アレンジ第4作目という意味でしょうか。それとも違う意味でしょうか。アレンジ第4作目である場合、アレンジ第1作~第3作目であるversion1~3の収録されているCDタイトルをそれぞれ教えてください。

Aベストアンサー

「どんなときも。Renewed(version4)」はまだ聴いたことがありませんが、Liveバージョンを別にして3バージョン(+カラオケ)が存在します。
まず、シングル『どんなときも』には「どんなときも。」とオーケストラ編成の「どんなときも。 [ballad version]」が収録。
それと、10周年記念アルバム『10.Y.O. ~THE ANNIVERSARY COLLECTION~』に収録されている「どんなときも。(10.Y.O.Version)」

なお、シングルに収録されていた「どんなときも。 [ballad version]」のカラオケ部分のショートバージョンがアルバム『君は誰と幸せなあくびをしますか。』に収録されています。

Qjava scriptでセレクトの入力チェックの応用

ショッピングカートの商品注文ページでセレクトメニューの「選択してください」の部分でをJavascriptによるエラーチェックしたいのですが、過去の掲示板を見たら応用できるコードを見つけましたが、現在当方が使用しているショッピングカートCGI(WEB寺小屋)に応用したいと思っています。

JS部分のif(f.o.selectedIndex == 0)の「o」の部分を「o-カラー」で指定すると(日本語)スクリプトが正常に作動しないのですが、どうしてもCGI側での仕様は変更したくないし、改造もできないので、この部分を日本語指定できる解決策をご存知でしたら教えてください。

↓問題なく動作確認
------------------------------------------------------
【JS部分】

function kakunin(f)
{
 if(f.o.selectedIndex == 0)
 {
  alert("カラーを選択してください");
  return;
 }
}

【HTML部分】
<form name="test">
<SELECT NAME="o">
<option selected>カラーを選択</option>
<OPTION>赤色
<OPTION>青色
<option>黄色</option>
</SELECT>
<INPUT TYPE="button" VALUE="OK" onClick="kakunin(test)">
</form>
--------------------------------------------------------------



↓問題の部分認
------------------------------------------------------
【JS部分】

function kakunin(f)
{
 if(f.o-カラー.selectedIndex == 0)
 {
  alert("カラーを選択してください");
  return;
 }
}

【HTML部分】
<form name="test" method="post" action="test.cgi">
<select name="o-カラー">
<option value="" selected>選択</option>
<option value="レッド_0">レッド</option>
<option value="ブルー_0">ブルー</option>
<option value="イエロー_0">イエロー</option>
</select>
<input type="submit" value="カートに入れる" onClick="kakunin(test)">
<input type="hidden" name="mode" value="regist">
--------------------------------------------------------------

ショッピングカートの商品注文ページでセレクトメニューの「選択してください」の部分でをJavascriptによるエラーチェックしたいのですが、過去の掲示板を見たら応用できるコードを見つけましたが、現在当方が使用しているショッピングカートCGI(WEB寺小屋)に応用したいと思っています。

JS部分のif(f.o.selectedIndex == 0)の「o」の部分を「o-カラー」で指定すると(日本語)スクリプトが正常に作動しないのですが、どうしてもCGI側での仕様は変更したくないし、改造もできないので、この部分を日本語指...続きを読む

Aベストアンサー

function kakunin(f) {
if(f.elements[0].selectedIndex == 0)//変更
//elements[0]はフォームの中の0番目の項目である事を指します。
//他にも項目がある場合は合わせて数値を変更してください。

{
alert("カラーを選択してください");
return false;//変更 falseを返してエラーの場合は送信中止
}
return true;//追加 エラーがなければ続行
}

他に、
<input type="submit">のonClickは削除し、
<from>にonsubmitを追加します。(エラーの場合に送信を中止させる為)
<form ~ onsubmit="return kakunin(test)">


人気Q&Aランキング

おすすめ情報