2

成功后,我想根据存在的价值显示不同的价值。例如,如果 $('#add').val() 有一个值,我想显示“添加视频”作为成功函数的一部分。如果 $('#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

4

如果您确定只有一个文本字段有值,您可以执行以下操作:

$('#message').html('<h2>' + $('#add').val() !== '' ? 'Video added' : 'Video removed' + '!</h2>' )
于 2012-11-20T14:58:13.497 回答
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 回答