アレルギー対策、自宅でできる効果的な方法とは?

JavaScript初心者です。
お力をお貸しください。

PHPでデータベースから複数行のデータをテーブル構造で出力しています。
行数はデータの量で変動します。

■出力されたHTML
<form name="admin_list">
<table><tbody>
<tr><td><input type="text" name="maker" value="Sony" required></td></td><td><input type="button" id="Copy" value="Copy" onclick="dataCopy()"></td></tr>
<tr><td><input type="text" name="maker" value="TOSHIBA" required></td></td><td><input type="button" id="Copy" value="Copy" onclick="dataCopy()"></td></tr>
<tr><td><input type="text" name="maker" value="Apple" required></td></td><td><input type="button" id="Copy" value="Copy" onclick="dataCopy()"></td></tr>
</table></tbody>
</form>

条件:ここでは、makerの内容を取得しようとしています。データは仮に3行としています。

そこで、JavaScriptで「Copy」ボタンの押された行のテキストデータを取得したいのですが、うまくいきません。

<script type="text/javascript">
function dataCopy(){
var row = ??
var hoge = admin_list[row].maker.value; //テキストエリアの値を取得
alert(""+ hoge +"が入力されました。");
}
</script>

ちなみに
var hoge = admin_list[0].maker.value;
だと、「Sonyが入力されました。」と表示されます。

なにとぞよろしくお願いいたします。

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

A 回答 (3件)

ANo1です。



>いろいろ探して試してみましたが、うまくいきません。
おやっ、なんかのライブラリを利用なさっているのでしょうか?
ご質問文にはありませんでしたが・・・

>サンプルコードを頂けると助かります。
引数で渡す方法は、理解なさっていらっしゃると思いますので、ANo1の最初にあげた方法の一例を以下に…
※ trの数(行数)が変わってもスクリプトはそのまま利用できます。
※ tableが存在しなかったり、構造が変わるとエラーになります。

<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
</head>

<body>
<form name="admin_list">
<table><tbody>
<tr>
<td><input type="text" name="maker" value="Sony" required></td>
<td><input type="button" value="Copy"></td>
</tr><tr>
<td><input type="text" name="maker" value="TOSHIBA" required></td>
<td><input type="button" value="Copy"></td>
</tr><tr>
<td><input type="text" name="maker" value="Apple" required></td>
<td><input type="button" value="Copy"></td>
</tr>
</table></tbody>
</form>

<script type="text/javascript">
document.querySelector("form[name='admin_list'] table")
.addEventListener("click", function(e){
var t = e.target;
if( t.type != "button" || t.value != "Copy") return false;
var p = t.parentNode.parentNode;
alert(p.querySelector("td:first-child input").value);
}, false);
</script>
</body>
</html>
    • good
    • 0
この回答へのお礼

引き続きありがとうございます!!
本日がんばってやってみます。
取り急ぎお礼まで。

お礼日時:2017/03/22 08:37

ANo2です。



ご質問文をコピペしてしまい気が付きませんでしたが…

HTMLの<table>と<tbody>の閉じタグの順序が逆ですね。
一応、訂正しておきます。
    • good
    • 0

こんにちは



外側のtable要素にイベントを設定しておけば、ひとつですむと思いますが、今テストできる環境にないので(携帯なので)、とりあえず簡単な方法を。


呼出し側に、dataCopy(0)、dataCopy(1)・・のように引数でrowを与えておいて、
 function dataCopy(row){ ~~ }
で受けとればよろしいのではないでしょうか。

引数を0、1・・と変えるのが面倒なら、一律でthisにしておけばクリックされた要素が渡されるので、そこからたどってもよいですね。

ついでながら、ご提示のHTMLではtdの閉じタグが余分なようですし、id=Copyが重複しているので文法違反になっています。
修正なさっておいた方が宜しいかと。
    • good
    • 0
この回答へのお礼

こんにちは。お休みのところご親切にありがとうございます!
アドバイスを頂き、いろいろ探して試してみましたが、うまくいきません。。。


$('table').delegate('td', 'click', function(){ //イベント発生
 var $cur_row = $(this).parent()[0];
...???
});

お時間あるときで良いので、サンプルコードを頂けると助かります。
すいません。

お礼日時:2017/03/20 16:19

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

このQ&Aを見た人はこんなQ&Aも見ています

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

Q$ajaxではない抽出データを表示するjavaの書き方教えくて下さい

いつもありがとうございます。
初心者です。というか、数年前に学んでから時間が空いています。

緯度経度から地図をするサイトをつくっています。

マーカの表示まではできています
表示されたマーカーの名前を地図の下にリスト表示したいのですがよくわかりません。

foreach や$ajaxのsuccessを使わずに
1)マーカーをクリックしたら名前が表示されたり
 loc = $('<li>').append($('<a href="javascript:void(0)"/>').text(Name)); ??
2)地図の下の<div id="pointlist">にリスト表示するにはどうかけばいいのでしょうか?
 $('#pointlist > ul').append(loc); ??


<php側>
$sql = 'SELECT';
$sql .= ' `ido`';
$sql .= ', `keido`';
$sql .= ', `name` ';
$stmt = $pdo->prepare($sql);
$rows = $stmt->fetchAll();

<htmlのjava>
var response = this.response;
for (var i = 0; i < response.length; i++) {
markers[i] = new google.maps.Marker({
position: {
lat: parseFloat(response[i].ido), lng: parseFloat(response[i].keido)
},
map: map
});


xhr.responseType = 'json';
xhr.open('GET', url, true);
xhr.send(null);

いつもありがとうございます。
初心者です。というか、数年前に学んでから時間が空いています。

緯度経度から地図をするサイトをつくっています。

マーカの表示まではできています
表示されたマーカーの名前を地図の下にリスト表示したいのですがよくわかりません。

foreach や$ajaxのsuccessを使わずに
1)マーカーをクリックしたら名前が表示されたり
 loc = $('<li>').append($('<a href="javascript:void(0)"/>').text(Name)); ??
2)地図の下の<div id="pointlist">にリスト表示するには...続きを読む

Aベストアンサー

こんにちは

全体像がよくわからないのと、ご質問の意図もきちんと把握はできていないのですが…

>マーカの表示まではできています
とのことなので、そこまではご満足なさっているものとして、その後の処理で、
>foreach や$ajaxのsuccessを使わずに~
という意味でよいのでしょうか?


上記のマーカ表示処理を行っている時点では、変数responseに必要なデータは取得できているものと推測しますので、以降は、変数responseを参照するようにすればよいものと思います。

変数resuponseにデータが取得できているものとして、マップ表示、マーカ表示、リスト表示、クリック時の表示等を行う一例を、以下に作成してみました。
(例では、HTML内にresponseの内容を直接記述しています)

※ ご呈示の断片ではjQueryなどのライブラリを利用しているようですが、下例では使用していません。
※ クリック時の表示はmapのinfoWindowを利用しています。
(alert表示や独自の書式で表示という考えもあるのかも知れませんが…)
※ リストへの追加は要素を生成してappendChildするのが良いとは思いますが、innerHTMLでバッサリ追加する処理にしちゃっています。
※ リストにはリンク要素が必要なのか不明なので(ご呈示の例はリンク先が無い)、ひとまず省略してあります。
(クリック時にマーカ同様の表示を行いたいのなら、同様にすれば可能です)


<!DOCTYPE HTML>
<html lang="ja">
<head><title>sample</title>

<style>
#info p{ margin:0; text-align:center; }
#info p:first-child{ font-size:120%; font-weight:bold; margin-bottom:5px; }
</style>

<script type='text/javascript' src='http://maps.google.com/maps/api/js'></script>

</head>
<body>

<div id='map' style='width:600px; height:400px;'></div>
<ul id='list'></ul>


<script type="text/javascript">
(function(){

//仮の座標データ
var response = [
{title:'キングの塔', keido:'139.64261680841446',
ido:'35.44770491704596', name:'神奈川県庁本庁舎'},
{title:'クイーンの塔', keido:'139.64218497276306',
ido:'35.44903778571399', name:'横浜税関'},
{title:'ジャックの塔', keido:'139.6411120891571',
ido:'35.44728975672271', name:'横浜市開港記念会館'}
];


//地図オブジェクト
var $map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP
});
//インフォウィンドウオブジェクト
var $infoW = new google.maps.InfoWindow();

//マーカー作成
var i, p;
var ul = document.getElementById('list');
var mBound = new google.maps.LatLngBounds();
for(i = 0; p = response[i]; i++){
p.latlng = new google.maps.LatLng(p.ido, p.keido);
mBound = mBound.extend(p.latlng);
var marker = new google.maps.Marker({position:p.latlng, map:$map});
google.maps.event.addListener(marker, 'click', bindInfo(i));
//リストを追加
ul.innerHTML += '<li>' + p.name + '</li>';
}
$map.fitBounds(mBound);


function bindInfo(i){ return function(){ dispInfo(i); }};

//インフォウィンドウ表示
function dispInfo(i){
var p = response[i];
$infoW.setPosition(p.latlng);
var html = '<div id="info"><p>' + p.title +'</p><p>';
$infoW.setContent(html + p.name + '</p>');
$infoW.open($map);
}
})();

</script>
</body>
</html>

※ なお、mapのapiに関しては、googleのサイトに詳細なリファレンスがありますので、参考になると思います。
https://developers.google.com/maps/documentation/javascript/3.exp/reference?hl=ja

こんにちは

全体像がよくわからないのと、ご質問の意図もきちんと把握はできていないのですが…

>マーカの表示まではできています
とのことなので、そこまではご満足なさっているものとして、その後の処理で、
>foreach や$ajaxのsuccessを使わずに~
という意味でよいのでしょうか?


上記のマーカ表示処理を行っている時点では、変数responseに必要なデータは取得できているものと推測しますので、以降は、変数responseを参照するようにすればよいものと思います。

変数resuponseにデータが取得できている...続きを読む

Q最近Javascriptの勉強を始めたのですがどこが違うかわかりません。

プログラミングの経験はないです。JavaScriptの勉強を最近を始め、簡単なじゃんけんのゲームを作っているのですが、プログラミングが作動しない原因はわかりません。間違って居る場所を教えて下さい。



// 数値の設定
var G = 1;
var C = 2;
var P = 3;

// 入力ダイアログ
var user = prompt(G + ':ぐー\n' + C + ':ぱー\n' + P + ':ちょき\n\n' + '※半角で数字を入力してください' );
user = parseFloat(user);

// 入力値のチェック
if (user !== G && user !== C && user !== P) {
alert('入力値を認識できません。再読み込みしてください。');
} else {

// コンピューターの手
var com = Math.floor(Math.random() * 3) + 1;

//コンピューターの手の名前
var comHand = '';
switch (com) {
case G:
comHand = 'ぐー';
break;
case C:
comHand = 'ちょき';
break;
case P:
comHand = 'ぱー';
break;
}
// 結果の判定
var Result = '';
if (user === com) {
Result = '引き分けです。';
} else if ((com === G && user === P) || (com === C && user === G) || (com === P && user === C)) {
Result = 'あなたの勝ちです。';
} else {
Result = 'あなたの負けです。';
}
// 結果の表示
Result = Result 'コンピューターの出した手は「' + comHand + '」でした。' ;
alert(Result);
}

プログラミングの経験はないです。JavaScriptの勉強を最近を始め、簡単なじゃんけんのゲームを作っているのですが、プログラミングが作動しない原因はわかりません。間違って居る場所を教えて下さい。



// 数値の設定
var G = 1;
var C = 2;
var P = 3;

// 入力ダイアログ
var user = prompt(G + ':ぐー\n' + C + ':ぱー\n' + P + ':ちょき\n\n' + '※半角で数字を入力してください' );
user = parseFloat(user);

// 入力値のチェック
if (user !== G && user !== C && user !== P) {
alert('...続きを読む

Aベストアンサー

こんにちは

>プログラミングが作動しない原因はわかりません。
直接の原因は、最後の方の
>Result = Result 'コンピューターの出した手は「' ~~
が、SyntaxErrorになっています。
 Result += 'コンピューターの出した手は「' ~~
 Result = Result + 'コンピューターの出した手は「' ~~
などとしてください。

ブラウザでテストしているなら、F12キーで「開発ツール」が表示できるものが多いですから、これを利用することでエラーを確認することができるはずです。

内容的には、勝ち負けの判定におかしなところがあるようですので、場合分けを再確認してみてください。

QJavascriptの本に乗っていることがわかりません

最近勉強を始めたものです。
関数のところで、1行目に、

/* 関数定義 ******************/

とあるのですが、どういう意味でしょう

Aベストアンサー

「/*」から始まり「*/」で終わるまでの間はコメント文として
好きなことをかけます。備忘録のようなものです。
「*」がいっぱい書いてあるのは桁あわせ(インデント)や
パッと見て目につきやすくしている(アイキャッチ)のだと思います

QJavascriptの小ウインドウから親ウインドウに値渡しについて

Javascript勉強中です。
よろしくお願いします。

以下のは親ウインドウから小ウインドウ開いたときに小ウインドウで好きなデータを選択して親ウインドウに自動入力させたい物の小ウインドウソースです。
ただこれですと常にform1のデータが親ウインドウのに戻ってしまいますのでおそらく区別出来る設定有ると思うのですが調べてもわかりませんでしたので書かせて頂きました。
よろしくお願いします。
※特にこの形式にこだわっている感じでもなく小ウインドウから複数データからそれぞれのデータ選択で親ウインドウに自動入力できれば大丈夫です。

<html>
<head>
<script Language="JavaScript"><!--
function setData() {
window.opener.frm1.box1.value = document.getElementById("input1").value;
window.opener.frm1.box2.value = document.getElementById("input2").value;
window.close();
}
// --></script>
</head>
<body>
<form name="form1">
<input type="text" id="input1" value="222"><br>
<input type="text" id="input2" value="222"><br>
<input type="button" onclick="setData()">
</form>
<form name="form2">
<input type="text" id="input1" value="333"><br>
<input type="text" id="input2" value="333"><br>
<input type="button" onclick="setData()">
</form>
</body>
</html>

Javascript勉強中です。
よろしくお願いします。

以下のは親ウインドウから小ウインドウ開いたときに小ウインドウで好きなデータを選択して親ウインドウに自動入力させたい物の小ウインドウソースです。
ただこれですと常にform1のデータが親ウインドウのに戻ってしまいますのでおそらく区別出来る設定有ると思うのですが調べてもわかりませんでしたので書かせて頂きました。
よろしくお願いします。
※特にこの形式にこだわっている感じでもなく小ウインドウから複数データからそれぞれのデータ選択で親ウ...続きを読む

Aベストアンサー

ANo1です。

>よろしくお願いします。
うまくいかない理由は、すでにANo1に記したつもりなのですが・・・?

補足を読んでも、相変わらずさっぱりわかりませんけれど、ご提示のHTMLは基本的にそのままにすることとして、とりあえずこんな方法でも、取得なさりたい値は取れるのではないかと思います。
(補足を読む限りでは、input[type=text]でもなさそうな気がしますし、子ウィンドウの必要性もあるのかなとか…
また、ご質問とは関係ないけど、「名前や電話番号」って・・・)

※ 親文書の構成が不明なのでalert表示までとしています。
※ 処理に必要ないid等は省いてあります。

<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>

<script type="text/javascript">
document.addEventListener("click", function(e){
var inp, t = e.target;
if(t.nodeName != "INPUT" || t.type != "button") return;
inp = t.parentNode.querySelectorAll("input");

// 親文書が不明なので値の表示のみ
alert("Values are " + inp[0].value + " and " + inp[1].value);

}, false);
</script>
</head>

<body>

<form>
<input type="text" value="222" /><br />
<input type="text" value="222" /><br />
<input type="button" />
</form>
<form>
<input type="text" value="333" /><br />
<input type="text" value="333" /><br />
<input type="button" />
</form>

</body>
</html>

ANo1です。

>よろしくお願いします。
うまくいかない理由は、すでにANo1に記したつもりなのですが・・・?

補足を読んでも、相変わらずさっぱりわかりませんけれど、ご提示のHTMLは基本的にそのままにすることとして、とりあえずこんな方法でも、取得なさりたい値は取れるのではないかと思います。
(補足を読む限りでは、input[type=text]でもなさそうな気がしますし、子ウィンドウの必要性もあるのかなとか…
また、ご質問とは関係ないけど、「名前や電話番号」って・・・)

※ 親文書の構成が不明なのでalert...続きを読む

Qテキストファイルについて

テキストファイルが存在しないときは新規作成で、存在した時はデータを追加するにはどのようにすれば宜しいのでしょうか。

Aベストアンサー

https://oshiete.goo.ne.jp/qa/9554405.html
前にも書きましたが、VBでファイルに書く方法はいくつもあります。

「ファイルが存在しないときは新規作成で、存在した時はデータを追加する」
というのは「append」「追記」「追加」と呼ばれる動作になります。

使おうとしているクラスやメソッドのマニュアルをよく見てください
「追記モードでオープンする」「ファイルに追加する」「append」といったキーワードが入っているものがあるはずです。

Q【VBA】IF文 複数(ネスト)の時の処理について

こんにちは。
if文についておしえてください。
以下のようなマクロがあるとします。

変数 tensuuに-1をいれて実行すると①→②のように動作し「入力エラー」と表示されます。
tensuuに120を入れて実行すると①´→②´の順に動作し「入力エラー1」と表示されます。

どして、-1のときは入力エラー1にはいかず入力エラーにいくのでしょうか?
120のときは入力エラーにはいかず入力エラー1にいくのでしょうか?

動きがよくわかりません。
IF文とELSEはどういう紐づけがされているのでしょうか?

よろしくおねがいいたします。
   
Sub t()
tensuu = -1
If tensuu >= 0 Then '①
If tensuu <= 100 Then '①´
If tensuu >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If
Else
MsgBox "入力エラー1" '②´
End If
Else
MsgBox "入力エラー" '②
End If
End Sub

こんにちは。
if文についておしえてください。
以下のようなマクロがあるとします。

変数 tensuuに-1をいれて実行すると①→②のように動作し「入力エラー」と表示されます。
tensuuに120を入れて実行すると①´→②´の順に動作し「入力エラー1」と表示されます。

どして、-1のときは入力エラー1にはいかず入力エラーにいくのでしょうか?
120のときは入力エラーにはいかず入力エラー1にいくのでしょうか?

動きがよくわかりません。
IF文とELSEはどういう紐づけがされているのでしょうか?

よろし...続きを読む

Aベストアンサー

If 〜 Then 〜 Else 〜 End If
で1セットです。

ネスト(入れ子)になったIF文というのは、 Then 〜 とか Else 〜 の〜の部分にIf文がくるものです。
ですから、外のIfを越えてしまうことはありません。
よって、一番内側から見ていけば、構造がはっきりします。


一番内側から見ます。

If tensuu >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If

が1セットです。
これを 「文1」とすると元のプログラムは

If tensuu >= 0 Then '①
If tensuu <= 100 Then '①´
「文1」
Else
MsgBox "入力エラー1" '②´
End If
Else
MsgBox "入力エラー" '②
End If

となります。この状態で「一番内側」を見ると

If tensuu <= 100 Then '①´
「文1」
Else
MsgBox "入力エラー1" '②´
End If
です。これを「文2」とすると

If tensuu >= 0 Then '①
「文2」
Else
MsgBox "入力エラー" '②
End If


余談ですが
この例の場合、外側2つは、判定内容と処理とが離れてしまい、見辛いのは確かです。
if 条件 Then A Else B は if not条件 Then B Else A と同じ、ということから、Thenでの処理とElseでの処理を入れかえれば、
条件の直ぐ下の処理が来るので、見易さが格段によくなります。

If tensuu < 0 Then '① ' tensuu<0 は not (tensuu>=0)と同じ
MsgBox "入力エラー" '②
ElseIf tensuu > 100 Then '①´
MsgBox "入力エラー1" '②´
ElseIf tensuu >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If ' ElseIfで継いでいるので、ネストにはなっていない

If 〜 Then 〜 Else 〜 End If
で1セットです。

ネスト(入れ子)になったIF文というのは、 Then 〜 とか Else 〜 の〜の部分にIf文がくるものです。
ですから、外のIfを越えてしまうことはありません。
よって、一番内側から見ていけば、構造がはっきりします。


一番内側から見ます。

If tensuu >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If

が1セットです。
これを 「文1」とすると元のプログラムは

If tensuu >= 0 Then '①
If tensuu <= 100 Then '①´
「文1」
Else
MsgBox "入力エラー1" '②´
...続きを読む

Qonchangeイベントを使ってspanタグにある値が変わったらアラートを出したい

すいません質問がございます。

onchangeイベントを使ってspanタグにある値が変わったらアラートを出したいです。

ものすごく単純なタグとして、下記の一行があります。

<span id="test">1</span>

そして下記のようなfunctionを作っておいて、もし、1が他の値になったらアラートを出す。といった仕組みを作りたいです。

var a = document.getElementById('test')
a.onchange = function(){
alert("abcde");
}

上記のfunctionは動きません。。。

html側は手を加えず、あくまでもjavascriptだけでアラートを出したいです。
これは可能でしょうか?

大変お手数ですがなにとぞよろしくお願いいたします。

Aベストアンサー

#4について

なにか大きな勘違いをされているようですが・・・
>その後サイトを訪問したユーザが2に変更したら、何も起きないですよね。

あとから来たひとが更新したら前のユーザーのHTMLにアラートをだすのでしょうか?
それは理論的にできません。

もしやるとしたらajaxで特定箇所だけ常に最新の状態にするような
プログラムを書くことですが、相当ハードルが高くなるので
おそらくいまの質問の内容から察するに質問者さんの経験と知識では
手がとどかないと思います

QVBAの天才来てください

二次関数の解を求めるプログラムを作成するのが目的です。

平方根はsqr関数を使うのが条件です。

ax^2+bx +cが基本式になり

(A,3)がaに(B,3)がbに(C,3)がcになるようにして考えます。

でた2解を(A,6)(B,6)に表示します。

もし虚数解なら(A,6)に「解なし」と表示するようにして、重解の場合は(A,6)にだけ表示されるように

プログラミングを作成する。という内容です。

何時間考えてもできないので助けてください。

Aベストアンサー

No.2続き
goto分使うの止めよう

Sub WK()
Dim A As Variant
Dim B As Variant
Dim C As Variant
Dim D As Variant
Dim Sh1 As Worksheet
Set Sh1 = Worksheets("Sheet1")

A = Sh1.Range("A3").Value
B = Sh1.Range("B3").Value
C = Sh1.Range("C3").Value
D = B * B - 4 * A * C
If D < 0 Then
Sh1.Range("A6").Value = "解なし"
ElseIf D = 0 Then
Sh1.Range("A6").Value = (-1 * B + Sqr(D)) / (2 * A)
Else
Sh1.Range("A6").Value = (-1 * B - Sqr(D)) / (2 * A)
Sh1.Range("B6").Value = (-1 * B + Sqr(D)) / (2 * A)
End If

Application.StatusBar = False
End Sub

No.2続き
goto分使うの止めよう

Sub WK()
Dim A As Variant
Dim B As Variant
Dim C As Variant
Dim D As Variant
Dim Sh1 As Worksheet
Set Sh1 = Worksheets("Sheet1")

A = Sh1.Range("A3").Value
B = Sh1.Range("B3").Value
C = Sh1.Range("C3").Value
D = B * B - 4 * A * C
If D < 0 Then
Sh1.Range("A6").Value = "解なし"
ElseIf D = 0 Then
Sh1.Range("A6").Value = (-1 * B + Sqr(D)) / (2 * A)
Else
Sh1.Range("A6").Value = (-1 * B - Sqr(D)) / (2 * A)
Sh1.Range("B6").Value = (-1 * B + Sqr(D)) ...続きを読む

Qjqueryでサーバーにデータを送信をしたいが、方法が分からない

前回、タイピングゲームの時にお世話になった者です。
その節はお世話になりました。

01.html,01.js,01.txtが有ります。

01.htmlの内容
<HTML>
<HEAD>
<TITLE>Typing Game</TITLE>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="01.js"></script>
<script src="01.txt"></script>
</HEAD>
<BODY>
<div id="count"></div>
<div id="q"></div>
<input type="text" name="a" style="width:10em; font-size:1.3em;">
<div id="res"></div>
</BODY>
</HTML>

01.jsの内容
$(function(){
var prompt_q_count=prompt('Enter Number');
var q_count=prompt_q_count-1;

var q=questions[q_count];
$('#q').html(q);

$('input[type=text][name=a]').on('keyup',function(){
var v=$(this).val()
var reg=new RegExp('^'+v);
var q_count2=q_count+1;
var lesson_data=q_count2+"/"+questions.length;
$('#count').html(lesson_data);
$('#q').html(q);
if(v==""){
$('#res').html('');
}else if(q==v){
$(this).data('pre',v);
$('#res').html('complete');
$('input[type=text][name=a]').val('');
++q_count;
if(q_count>questions.length){
alert("end job"); <============ここでq_countを送信したい
}
q=questions[q_count];
$('#q').html(q);
var q_count2=q_count+1;
var lesson_data=q_count2+"/"+questions.length;
$('#count').html(lesson_data);
}else if(q.match(reg)){
$(this).data('pre',v);
$('#res').html('ok');
}else{
if(q.length>=v.length) $('#q').html(q.substr(0,v.length-1)+"<span style='color:red;font-weight:bold'>"+q.substr(v.length-1,1)+"</span>"+q.substr(v.length));
$(this).val($(this).data('pre'));
$('input[type=text][name=a]').val('');
$('#res').html('ng');
}
});
});

01.txtの内容
var questions=[
"自然",
"有事",
"一番",
];

この01.jsの中で、alert("end job")の所でq_countの値を
サーバーに送信をしたいのですが。

その時のjqueryのコードが分かりません。宜しく回答願います。

前回、タイピングゲームの時にお世話になった者です。
その節はお世話になりました。

01.html,01.js,01.txtが有ります。

01.htmlの内容
<HTML>
<HEAD>
<TITLE>Typing Game</TITLE>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="01.js"></script>
<script src="01.txt"></script>
</HEAD>
<BODY>
<div id="count"></div>
<div id="q"></div>
<input type="text" name="a" style="width:10em; font-size:1.3em;">
<div id=...続きを読む

Aベストアンサー

サーバー側に受け口の CGI などがあるならば、その URL に対して HTTP POST しましょう
$.post('foo/bar.cgi', {count:q_count} ).done( function(data){alert('送信成功して' + data + 'と応答された');} );
参考
https://api.jquery.com/jquery.post/

意味的に HTTP GET してはいけません
参考
http://www.w3schools.com/TAGS/ref_httpmethods.asp

Q【Javascript&C#】データの共有

Webサイトを作成しているのですが、C#~JS間のデータ共有方法が分かりません。

(1) C#で使用しているマシンのDHCPを取得
(2) (1)で取得したDHCPをJSに受け渡し
(3) JS(alert)で表示

上記のようなことをやりたいのですが、構文が分かりません...
教えてください... m(__)m

Aベストアンサー

案1) 両者がサーバー側プログラムの場合
C# から JavaScript エンジンを操作し、特定情報を引数に JavaScript 関数を呼び出す
https://github.com/Microsoft/ChakraCore/wiki/Embedding-ChakraCore

案2) JS がクライアント側 HTML の場合
C# で特定情報を含む JSON ファイルを作り、JavaScript から AJAX で取得
または
C# で特定情報を含む JSON を返す WebAPI を作り、JavaScript から AJAX で取得

案3) そもそも C# で HTML 画面を作っている場合
HTML 内に <script type="application/json" name="foobar">{data:"特定情報"}</script> を含めるように出力
HTML 内の JavaScript から JSON.parse(document.scripts["foobar"].textContent) で取得


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報