2

私はこのレビューサイトを持っており、ユーザーがレビューを入力するためのフォームがあります。例:http ://www.thecrowder.com/index.php/userreviews/sites/99_Designs (「レビューの送信」をクリック)

jQueryの星評価プラグインを使用していますが、Chromeでは正常に機能しています。ただし、FirefoxとIEにはいくつかの問題があります。送信されている値を認識せず、「rating」変数が欠落しているというエラーが表示されます。

jqueryで「:checked」を削除すると、エラーは発生しませんが、評価として「0」も取得されます。他のブラウザでこれを記述する別の方法はありますか?

レビューフォーム:

<table>
<tr>
    <td>Site reviewed:</td>
    <td><input readonly type="text" id="site" value="<?php echo ucwords($cleanSitename); ?>" class="required"></td>
    </tr>
    <tr>
        <td>Name:</td>
        <td> <input type="text" id="name" class="required" > </td>            
    </tr>
    <tr>
        <td>Review:</td>
        <td><textarea id="messageUser" class="required" ></textarea></td>
    </tr>
    <tr>
        <td>Rate this site:</td> <!--jquery star rating system -->
        <td class="required">
            <div>                       
                <input type="radio" value="1" class="star" name="rate"/>
                <input type="radio" value="2" class="star" name="rate"/>
                <input type="radio" value="3" class="star" name="rate"/>
                <input type="radio" value="4" class="star" name="rate"/>
                <input type="radio" value="5" class="star" name="rate"/>                               
            </div>
        </td>
    </tr>
</table>
<button id="submitReview2">Submit</button>

jQuery:

$('#submitReview2').click(function() {
    var profile = $('#site').val();
    var name = $('#name').val();
    var message = $('#messageUser').val();
    var rating = $("input:radio[name=rate]:checked").val();
  }

ところで、違いがあれば、codeigniterを使用しています。ありがとう

4

1 に答える 1

1

これを試して、選択された星の数を取得してください。

var rating = $(".star-rating-control .star-rating-on").length;
于 2013-02-13T12:49:05.663 に答える