2

成功したら、存在する値に応じて異なる値を表示したいと思います。たとえば、$('#add').val() に値がある場合、成功関数の一部として「Video added」を表示したいと思います。$('#remove').val() に値がある場合'動画が削除されました' を成功関数の一部として表示したい. #add または #remove のいずれかが特定の時間に値を持っている. これを有効にするにはどうすればよいですか?

<script type="text/javascript">
   $(document).ready(function() {
       $("#test").submit(function(event){
       event.preventDefault();
            $.ajax({
                 type:"POST",
                 url:"/edit_favorites/",
                 data: {
                        'video_add': $('#add').val(), // from form
                        'video_remove': $('#remove').val() // from form
                        },
                 success: function(){
                     $('#message').html("<h2>Video added!</h2>") 
                    }
            });
            return false;
       });

    });
</script>
4

3 に答える 3

0

テキストをチェックするだけで十分な場合は、次のコードを使用できます。

<script type="text/javascript">
   $(document).ready(function() {
       $("#test").submit(function(event){
       event.preventDefault();
            $.ajax({
                 type:"POST",
                 url:"/edit_favorites/",
                 data: {
                        'video_add': $('#add').val(), // from form
                        'video_remove': $('#remove').val() // from form
                        },
                 success: function(){
                     if ( $('#add').text() ) {
                        $('#message').html("<h2>Video added!</h2>");
                     } else if ( $('#add').text() ){
                        $('#message').html("<h2>Video removed!</h2>");
                     } else {
                        $('#message').html("<h2>Wasn't either add or remove!</h2>");
                     }
                    }
            });
            return false;
       });

    });
</script>

私は仮定#addまたは#removeテキストです。鍵はこのifチェックです:

if ( $('#add').text() ) {
   //... add is not empty because there is some text in it...

テキスト#addまたは#removeその他の要素が含まれているか、含まれている可能性がある場合は、:emptyセレクターで確認できます。

if ( !$('#add:empty').length ) {
   //... #add is not empty so something was added successfully ...

#addまたは#remove<input>テキストボックスのような要素である場合、次の方法で同じチェックを行うことができます:

if ( $('#add').val() ) {
   //... add is not empty ...
于 2012-11-20T15:05:20.350 に答える
0

バックエンド スクリプトが実行されたときに応答を返したいのですが、XML は次のようになります。

 <status>true</status>
 <successMessage>Video deleted</successMessage>

また

<status>false</status>
<errorMessage>Video not found on the server</errorMessage>

Javascript

success: function (response) {
   if($(response).find("status").text()=="true"){
        $(".success").html($(response).find("successMessage").text());
        $(".success").show();
   }else{
        $(".error").html($(response).find("errorMessage").text());
        $(".error").show();
   }
}
于 2012-11-20T16:01:19.100 に答える