2013-11-23 2 views
0

У меня есть несколько кнопок ввода. Я хочу, чтобы выполнить следующие действия на ответ Аякса вызова:Как удалить/скрыть, изменить заголовок кнопки ввода с помощью javascript?

1)remove input button for that specific button that was clicked initially 
2)change background color input textbox from red to green 
3)change caption of edit box to try again if ajax call failed 

Мой текущий код передает значение для правильного функционирования и Аякса получает ответ обратно правильно, но я просто не знаю, как сделать выше 3 вещи Моя цель! этот пользователь знает, что данные были изменены правильно, сделав над тремя изменениями входные поля. может любой один показать мне, как это может быть done.Thanks

Javascript, что дозвонились, нажав кнопку InputBox:

<script> 
function setNewValue(a) { 
var text = $("#"+a); 
var textboxvalue = text.val(); 

    var url = "./edit.php"; 
    $.post(url, { 
     "method": "post", 
     "rowId": a, 
     "rowValue": textboxvalue, 

    }, function(data) 
     { 

      var ajaxResponse = data; 

     //alert("success"+ajaxResponse); 

      if(ajaxResponse.indexOf("SuccessEdit")>=0) 
      { 
       //remote the edit button 
      } 
      else 
      { 
       //change caption of edit button to try again 

      } 

     }) 
    } 

</javascript> 

PHP часть, которая печатает inputboxes в HTML таблице:

$table3.="<tr>"; 
$table3.="<td>" . $row['ID'] ."(".$totalRows. ")</td>"; 
$table3.="<td bgcolor=\"#FF0000\"><input type=\"text\" id =\"". $row['ID'] ."\" name=\"". $row['ID'] ."\" value=\"typer here to edit\"><button onclick='setNewValue(\"".$row['ID']."\")'>Edit this Row</button></td>"; 
$table3.="<td>" . $row['imgPURL'] . "</td>"; 
$table3.="<td>" . $row['imgUrl'] . "</td>"; 
$table3.="<td>".$line."</td>"; echo "</tr>"; 
+0

Если добавить OnClick = 'setNewValue (это, .... затем вы можете сохранить кнопку и удалить ее при успешном завершении – mplungjan

+0

что делает слово «this» внутри вызова функции? Я не хочу делать то, что вызывает вызов функции! – user1788736

+0

Вам также необходимо изменить функция setNewValue (но, a, b) { – mplungjan

ответ

0
function setNewValue(a,b) { 
    var edit_button=this; 
    var input_area=$("#"+a); 
    var url = "./edit.php"; 
    $.post(url, { 
     "method": "post", 
     "rowId": a, 
     "rowValue": b, 

    }, function(data) 
     { 

      var ajaxResponse = data; 

     //alert("success"+ajaxResponse); 

      if(ajaxResponse.indexOf("SuccessEdit")>=0) 
      { 
       //remove the edit button 
       edit_button.hide(); 
      } 
      else 
      { 
       //change caption of edit button to try again 
      input_area.val("try again"); 

      } 

     }) 
    } 

</javascript> 
+0

Это не работает - вы не можете использовать это, если четное не назначено напрямую на кнопку – mplungjan

+0

, он может добавить этот параметр в функцию setNewValue – Patato

+0

Да, но это не было бы «этим» в функции ! – mplungjan

1
  1. Вы не передаете два значения функции
  2. , добавляя это к вызову, дает вам объект в функции.

Ваш код слишком грязно для меня, чтобы исправить полностью, но попробовать

var saveBut; 
function setNewValue(but,a,b) { 
    var saveBut=$(but); 
    var url = "./edit.php"; 
    $.post(url, { 
    "method": "post", 
    "rowId": a, 
    "rowValue": b, 

    }, function(data) { 
    var ajaxResponse = data; 
    //alert("success"+ajaxResponse); 
    if(ajaxResponse.indexOf("SuccessEdit")>=0) { 
     saveBut.remove(); 
     saveBut.prevAll('input').addClass("valid"); 
    } 
    else { 
     saveBut.html("Try Again") 
    } 
}) 
} 

используя этот PHP который до сих пор не проходит никакой ценности «б»

<button onclick='setNewValue(this,\"".$row['ID']."\")'> 
+0

спасибо всем. Mplungjan я отредактировал мое первое сообщение, ваш код теперь удаляет эту кнопку. Как насчет изменения фона входного текстового поля от красного до зеленого? – user1788736

+0

См. Обновление. Я установил класс вместо изменения цвета. – mplungjan

+0

Не могли бы вы объяснить мне, что делает класс добавления и как его использовать, чтобы изменить цвет на зеленый? – user1788736

Смежные вопросы