1

いくつかのチェックボックスと、ユーザーが対応するボックスをチェックすると開く非表示の div を備えた小さなフォームがあります。特定の日付がチェックされているときにデータベースにデータを挿入し、隠しdivから挿入されたデータベースに時間を挿入するために、ajaxとjsonを使用したいと考えています。出来ますか?ここに私のフォームがあります: ON jsFiddle

<div>
<input type="checkbox" name="monday" id="mon" class="toggler"  /> Monday
<input type="checkbox" name="tuesday" id="tue" class="toggler"  />Tuesday
<input type="checkbox" name="wendsday" id="wen" class="toggler"/> Wendsday
<input type="checkbox" name="thursday" id="thu" class="toggler"  /> Thursday
<input type="checkbox" name="friday" id="fri" class="toggler" /> Friday
<input type="checkbox" name="saturday" id="sat" class="toggler" /> Saturday
<input type="checkbox" name="sunday" id="sun" class="toggler" /> Sunday
</div>
    <div id="name" class="hidden" style="display: none">
    Time From::<input type="text" id="place" placeholder=""></input> Time To::<input type="text" id="place_one" placeholder=""></input>
    <input type="button" onclick="save_time();" value="Save" />
    </div>

これが私のJavaScriptです:

$(function(){
   $('.toggler').click(function(id){
       if (this.checked) {
           $('#name').slideDown();
       } else {
           $('#name').slideUp();
       }
   });

   save_time = function(days){
       $.ajax({
          type: "post",
          url: "",
          data: "days="+days,
          success: function(data){

          }
       });
       $('#name').slideUp();

   };

});
4

2 に答える 2

1

「日」を正しく渡すためにフィドルのいくつかを変更し、投稿データに「から」と「から」の値を追加しました。また、これはあなたのロジックで必要であると推測したため、現在、一度に選択できるのは 1 日だけです。

フィドルを更新しました。

$(function(){
   $('.toggler').click(function(id){
       $('.toggler').not('#' + $(this).attr('id')).attr('checked', false);
       if (this.checked) {
           $('#name').slideDown();
       } else {
           $('#name').slideUp();
       }
   });

   save_time = function(){
       var id = $('.toggler:checked').attr('id');
       $.ajax({
          type: "post",
          url: "url",
           data: {day: id, from: $('#place').val(), to: $('#place_one').val()},
          success: function(data){

          }
       });
       $('#name').slideUp();

   };

});
于 2013-02-20T12:28:32.460 に答える
0

ajax呼び出しのcontentType属性とdataType属性を見逃しました。

save_time = function(days){
           $.ajax({
              type: "post",
              url: "",
              data: "days="+days,
              contentType: "application/json",
              dataType: "json",
              success: function(data){

              }
           });

サーバー側のメソッドには、次のような属性が必要です。

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string MethodName(string days)
    {
        // your code
    }
于 2013-02-20T12:20:07.520 に答える