こんにちは私は次のボタンがクリックされたときに投稿する必要があるAjaxフォームを持っています:
<div id="divaddtocartbtn">
<input type="image" class="buynow" id="imgaddtocart" alt="Add to Cart" src="http://static.e-talemedia.net/content/images/odditiesaddtobasketbutton.png" />
</div>
ただし、次のようなカウンターもあります。
<div class="box">
<label for="qty">
<abbr title="Quantity">Qty</abbr></label>
<input id="qty" value="0" />
<button id="down" onclick="modify_qty(-1)">-1</button>
<button id="up" onclick="modify_qty(1)">+1</button>
</div>
http://www.codecademy.com/courses/a-simple-counter/0#!/exercises/0-シンプルなカウンター
ただし、これはAjaxフォーム内にあるため、+と-をクリックしてカウンターを増減しようとすると、Ajaxの投稿が発生します。Ajaxの投稿がバスケットへの追加クリックでのみ発生するように入力を分離するにはどうすればよいですか?
カウンターをAjaxフォームの外に置く必要があると思っていましたが、ajaxポスト内で選択された数量を取得する必要があります。
Ajax.BeginForm("ThreeInOneBin2", new AjaxOptions() {
HttpMethod = "POST"
});
完全なコードについては、以下を参照してください。
<div class="ThreeInOneBin2middle">
<ul>
<% if (Model.ProductNotFound)
{ %>
<!-- List the retailers as we have none in stock -->
<%= Html.WidgetProductNotFoundList(Model) %>
<% }
else
{ %>
<% using (Html.BeginForm())
{%>
<%= Html.AntiForgeryToken() %>
<%= Html.WidgetProductFoundListThreeStageBin2(Model)%>
<div class="stepFour">
<% if (string.IsNullOrEmpty(ViewBag.Confirmation))
{
Ajax.BeginForm("ThreeInOneBin2", new AjaxOptions()
{
HttpMethod = "POST"
});
{ %>
<img src="http://static.e-talemedia.net/content/images/DoveStep3message.png" alt="" />
<%-- This is the quantity--%>
<div class="box">
<label for="qty">
<abbr title="Quantity">
Qty</abbr></label>
<input id="qty" value="0" />
<button id="down" onclick="modify_qty(-1)">
-1</button>
<button id="up" onclick="modify_qty(1)">
+1</button>
</div>
<div id="uandp">
<p>
<input type="text" name="username" class="txtUsername" id="email" value="Username" />
<%= Html.ValidationMessage("Email", "Please enter a valid Email") %>
</p>
<p>
<input type="password" name="password" class="txtPassword" value="Password" />
</p>
</div>
<div id="rightaddtocart">
<div id="divaddtocartbtn">
<input type="image" class="buynow" id="imgaddtocart" alt="Add to Cart" src="http://static.e-talemedia.net/content/images/odditiesaddtobasketbutton.png" />
</div>
</div>
<% } %>
<% }
else
{ %>
<p>
<%-- <%= ViewBag.Confirmation %>--%>
<img class="divAdded" src="http://static.e-talemedia.net/content/images/Basketmessage.png"
alt="Added to Basket" />
</p>
<% } %>
</div>
<% } %>
<% } %>
</ul>
</div>