2012-02-27 12 views
0

これらのチェックボックスをリセットするボタンを提供する方法を理解する上で助けが必要です。リセットボタンを追加してPHPまたはjavascriptを使用してチェックボックスをリセットする

UPDATEL:提供

答えは唯一のonLoadを有効にしているそのインスタンスではなく、チェックボックスで選択されているチェックボックスで動作します:私は共有するためのより多くの情報を持っています。これは、人々が好きなジャンルを選んで保存することができたperferencesページです。

<div class="grid_13"> 
<form method="post" id="updatePreferedGenres" action="/account/update/preferences/genres"> 
    <h2 class="alt blue no-margin-top margin-bottom">Check off genres you like:</h2> 

    <?php 

    $this->load->library('GenreLib'); 
    $genreArray = $this->genrelib->getGenreList(); 

    foreach ($genreArray as $parentID => $genreSegment){ 

     $isChecked = ""; 

     if (isset($customerPrefs['genres']) && is_array($customerPrefs['genres']) && sizeof($customerPrefs['genres']) > 0 && in_array($parentID, array_keys($customerPrefs['genres']))) { 
      $isChecked = "CHECKED"; 
     } 

     echo '<p class="grid_3 no-margins-left no-margins-right"><input type="checkbox" class="margin-right" name="' . $genreSegment['parentGenreName'] . '" value="' . $parentID . '"' . $isChecked . '/>' . $genreSegment['parentGenreName'] . '</p>'; 

    } 

    ?> 

    <div class="clear"></div> 
    <input type="button" class="button right" value="Save" /> 
    <div class="clear"></div> 
</form> 

// Rig the preferences form 
$("#updateDHOverride").submit(function(event) { 
    event.preventDefault(); 
    if ($(this).find("#downloadHubOverride").is(':checked')){ 
     document.cookie = 'downloadHubOverride=TRUE; expires=Thursday, 25-Jul-2030 23:59:59 GMT; path=/'; 
    } 
    else { 
     document.cookie = 'downloadHubOverride=FALSE; expires=Thursday, 25-Jul-2030 23:59:59 GMT; path=/'; 
    } 
}); 


// Rig the submit for genre preferences form 
$("#updatePreferedGenres").each(function() { 

    var linkedForm = $(this); 

    $(this).find("#prefSave").click(function(event) { 

     event.preventDefault(); 

     var getGenreIds = ""; 

     linkedForm.find("input[type=checkbox]").each(function() { 
      if ($(this).is(":checked")) { 
       if (getGenreIds.length > 0) { 
        getGenreIds += ',' + $(this).attr('value'); 
       } 
       else { 
        getGenreIds += $(this).attr('value'); 
       } 
      } 
     }); 

     $.post(
      linkedForm.attr('action'), 
      { genreIds : getGenreIds }, 
      function (status) { 

       status = $.parseJSON(status); 

       if (status.status == "success") { 
        $.prompt('<h4>Preferences updated successfully!</h4>', { 
         top: '34%', 
         zIndex: '10000' 
        }); 

        if (linkedForm.hasClass('goHome')) window.location = "/"; 
       } 
       else { 
        $.prompt('<h4>' + status.message + '</h4>', { 
         top: '34%', 
         zIndex: '10000' 
        }); 
       } 
      } 
     ); 

    }); 

}); 

// REMOVE checkboxes Script - need to place into onClick Function 
// $('input:checkbox').removeAttr('checked'); 

$('#activateAccount').submit(function(event) { 

    event.preventDefault(); 

    // update form update action 
    $.post(
     $(this).attr('action'), 
     $(this).serialize(), 
     function (status) { 

      //console.log(status); 

      status = $.parseJSON(status); 

      if (status.status == "success") { 
       $.prompt('<h4>Account updated successfully!</h4>', { 
        top: '34%', 
        zIndex: '10000', 
        buttons: { OK:true }, 
        submit: function(v,m,f){ 
         location.reload(true); 
        } 
       }); 
      } 
      else { 
       if (status.data != "") { 
        //if there are form validation errors 
        displayValidation(status.data); 
       } 
       else { 
        //generic error message 
        $.prompt('<h4>' + status.message + '</h4>', { 
         top: '34%', 
         zIndex: '10000' 
        }); 
       } 
      } 
     } 
    ); 
}); 

私はちょうど構文ではわからない、発生する必要があるものの基本的な考え方を持っています。

<input type='reset' value='resetButton'> 
+1

'<入力名= "リセット" タイプ= "リセット" を値="リセット"/>' – j08691

+1

すべてのチェックボックスをオフにするか、元の値にリセットしますか? –

+0

リセットのタイプの別の入力ボタンを追加しても、それが送信ボタンとして扱われるようには見えません。 – TrevorD

答えて

1

<input type="reset" value="Reset checkboxes" /> 
+0

私はこれを試みましたが、「成功した保存」アラートは、リセットボタンを保存ボタンとして扱うかのようにポップアップします。 – TrevorD

+0

あなたのsubmitがtype = "submit"であるべきではありません。あなたはこのような問題を避けるために提出するためにあなたのボタンに言う必要はありません。 –

1

PHPのための必要はありません、またJavascriptを:あなたが唯一のチェックボックスがあるようですので、

関連する問題