アプリ版:「スタンプのみでお礼する」機能のリリースについて

複数のボタンがあります。
それぞれのボタンによって、value値を変えたいと考えています。

通常であれば
<button class='button' type='submit' name='volume' value='350'>350購入</button>
<button class='button' type='submit' name='volume' value='450'>450購入</button>

という形を利用しますが、理由があり、 type='submit' を使用できません。


そこで、
<input id="button350" type="button" value="350購入" />
<input id="button450" type="button" value="450購入" />

というsubmit属性の無いボタンを使用しながら、「javascriptを使いname value を抽出しsubmitまで持っていく」ことを考えています。

そこで、下記のようなものを2種類(350と450は別の記載方法でテスト)作ってみましたが、いずれもsubmitは出来ますが、value値を渡すことが出来ません。

どのように書けば、name属性にvalue値を渡すことが可能でしょうか?

<form action="abc.php" method="post" name="form2" id="form2">

<script>
$(function(){
$('#button350').click(function() {
$('input[type=\'submit\']');
$('input[name=\'volume\']');
$('input[value=\'350\']');
$('#form2').submit();
});

$('#button450').click(function() {
$('input[type=\'submit\'],[name=\'d4_buy_stock_volume2\'],[value=\'450\']');
$('#form2').submit();
});
});
</script>
<BR>
<BR>
<input id="button350" type="button" value="350購入" />
<BR>
<input id="button450" type="button" value="450購入" />

</form>

A 回答 (2件)

ボタン要素で値を送信ではなく、


隠し要素をフォーム内に埋め込んで送信、
はいかがでしょうか

$('#form2 input[type=button]').click(function(){
var v = $(this).val();
$('<input type=hidden name=volume>').val(v).appendTo('#form2');
$('#form2').submit();
});
    • good
    • 0
この回答へのお礼

大変勉強になるご指導有難うございます!!
ご指摘頂きましたことをヒントに下記で対応出来ました。
本当に有難うございました。
深く御礼申し上げます。

$(function(){
$('#button250').click(function() {
var v = $(this).val();
$('<input type=hidden name=volume value=250>').val(v).appendTo('#form2');
$('#form2').submit();
});

お礼日時:2014/06/14 22:58

>そこで、


><input id="button350" type="button" value="350購入" />
><input id="button450" type="button" value="450購入" />
>
>というsubmit属性の無いボタンを使用しながら、「javascriptを使いname value を抽出しsubmitまで持っていく」ことを考えています。


よくわかりませんが、name属性を書いてないからname属性を取れないのではないでしょうか。

この回答への補足

ヒントを頂きまして有難うございました。
残念ながらbutton にname属性を入れてみましたがうまくいきませんでした。

補足日時:2014/06/14 08:57
    • good
    • 0
この回答へのお礼

下記まで簡略してみました。
Submitは可能ですが、name属性への数値が挿入されることはありませんでした。


<script>
$(function(){
$('#button100').click(function() {
$('#form2').submit();
});
$('#button200').click(function() {
$('#form2').submit();
});
});
</script>
<BR>
<BR>
<input id="button100" type="button" name ="volume" value="100" />
<BR>
<input id="button200" type="button" name ="volume" value="200" />

お礼日時:2014/06/14 09:04

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