0

私はこのフォームを持っています。ページが表示されると、最初のオプションが選択されたように見えますが、送信しても何も起こりませんでした。オプション 2 または 3 に変更してからオプション 1 に戻ると、送信を押すとページがリダイレクトされます。

この小さな「バグ」を修正する方法についての提案

<form method="post" action=javascript:action; >
<select class="price" onChange="this.form.action=this.options[this.selectedIndex].value;">
<option selected="selected" value="cart.php?a=add&pid=72">Kr. 999.00,- årlig</option>
<option value="cart.php?a=add&pid=73">Kr. 999.00,- toårig</option>
<option value="cart.php?a=add&pid=74">Kr. 999.00,- treårig</option>
</select>
<input type="submit" value="Bestill" class="buy-now" /> 

これで、このコードが下に表示されましたが、新しい cart.php ページにリダイレクトされません。

完全なコードは次のとおりです。jquery はヘッダー ファイルに読み込まれます。

<script type="text/javascript">
$(document).ready(function(){
$("#cmbPrice").change(function(){
fnChangeFormAction();
});
fnChangeFormAction();
});
function fnChangeFormAction(){
var action = $("#cmbPrice").val();
$("#frmMyForm").attr("action", action);
}
</script>

<form method="post" name="frmMyForm" id="frmMyForm" action='' >
<select class="price" name="cmbPrice" id="cmbPrice">
<option selected="selected" value="cart.php?a=add&amp;pid=72">Kr. 700.00,- årlig</option>
<option value="cart.php?a=add&amp;pid=73">Kr. 1400.00,- toårig</option>
<option value="cart.php?a=add&amp;pid=74">Kr. 1800.00,- treårig</option>
</select>
<input type="submit" value="Bestill" class="buy-now" />
4

1 に答える 1

0

確かに、あなたは使いたいので、ライブラリjqueryを含めていると思います。jqueryそうでない場合は、この行を「ヘッド」セクションに追加して、最新バージョンの を使用できますjquery

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

googleapisのホストされたバージョンを使用するjqueryか、独自のサイトでホストすることができます (これはお勧めしません)。

head セクションに次のコードを追加します。

<script type="text/javascript">
$(document).ready(function(){
  $("#cmbPrice").change(function(){
    fnChangeFormAction();
  });

  fnChangeFormAction();
});


function fnChangeFormAction(){
  var action = $("#cmbPrice").val();
  $("#frmMyForm").attr("action", action);
}
</script>

form次に、次のように変更します。

<form method="post" name="frmMyForm" id="frmMyForm" action="">
<select class="price" name="cmbPrice" id="cmbPrice">
<option selected="selected" value="cart.php?a=add&pid=72">Kr. 999.00,- årlig</option>
<option value="cart.php?a=add&pid=73">Kr. 999.00,- toårig</option>
<option value="cart.php?a=add&pid=74">Kr. 999.00,- treårig</option>
</select>
<input type="submit" value="Bestill" class="buy-now" />
</form>

それでおしまい...


更新 - シンプルで完全なコード...

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
  $(document).ready(function(){
    $("#cmbPrice").change(function(){
    fnChangeFormAction();
    });

    fnChangeFormAction();
  });

  function fnChangeFormAction(){
    var action = $("#cmbPrice").val();
    $("#frmMyForm").attr("action", action);
  }
</script>
</head>

<body>
<form method="post" name="frmMyForm" id="frmMyForm" action='' >
<select class="price" name="cmbPrice" id="cmbPrice">
<option selected="selected" value="cart.php?a=add&amp;pid=72">Kr. 700.00,- årlig</option>
<option value="cart.php?a=add&amp;pid=73">Kr. 1400.00,- toårig</option>
<option value="cart.php?a=add&amp;pid=74">Kr. 1800.00,- treårig</option>
</select>
<input type="submit" value="Bestill" class="buy-now" />
</form>
</body>
</html>
于 2012-12-25T19:25:14.047 に答える