【问题标题】:Javascript fill inputs on button click with AJAX使用 AJAX 单击按钮时的 Javascript 填充输入
【发布时间】:2015-12-14 21:48:19
【问题描述】:

几乎一切正常!我只需要找出为什么下面的代码不会给我比第一个按钮值更多的值。

public static function getProjectOnSearch($inp){
        return DB::table('projecten')
            ->select(DB::raw('titel,status,prioriteit,soort,projectnaam,projecturl
            ,gebruikersnaam,wachtwoord
            ,gebruiker_id,omschrijvingproject'))
            ->where('projectnaam', 'LIKE', '%'.$inp.'%')
            ->get();
    }

我想在单击按钮时用我的数据库中的值填写一些输入字段。我有代码可以填写名称,然后单击搜索按钮来填写输入。这很好用。当我将该代码与另一个按钮一起使用时,它将不起作用。请参阅下面的代码。

Javascript 代码:

<script type="text/javascript">
    $("#wijzigKnop2").on("click",function(){
      var email2 = $('#zoeknaam2').val('');
      $('#titel2').val('');
      $('#status2').val('');
      $('#prioriteit2').val('');
      $('#type2').val('');
      $('#projectnaam2').val('');
      $('#projecturl2').val('');
      $('#gebruikersnaam2').val('');
      $('#wachtwoord2').val('');
      $('#omschrijving2').val('');

      $.ajax({
        method: "POST",
        url: "/updateProjectData",
        data: {   input: email2 ,
               _token: "{{ csrf_token() }}"
              }
      })
        .done(function( msg ) {
        $('#titel2').val(msg[0].titel);
        $('#status2').val(msg[0].status);
        $('#prioriteit2').val(msg[0].prioriteit);
        $('#soort2').val(msg[0].soort);
        $('#projectnaam2').val(msg[0].projectnaam);
        $('#projecturl2').val(msg[0].projecturl);
        $('#gebruikersnaam2').val(msg[0].gebruikersnaam);
        $('#wachtwoord2').val(msg[0].wachtwoord);
        $('#omschrijving2').val(msg[0].omschrijvingproject);
      });

    });
</script>

带有隐藏值输入的 HTML 按钮(通常会输入值,但此按钮将从 HTML 表中获取值,该表会通过 foreach 生成一行)

   <input type="hidden" value="{{$project->projectnaam}}" 
id="zoeknaam2" name="zoeknaam2" class="form-control" placeholder="Projectnaam">

<button class="btn btn-success btn-xs" id="wijzigKnop2" name="zoekProject" type="button">
<i class="glyphicon glyphicon-pencil"></i>
</button>

任何答案或想法都非常欢迎提前感谢您的发布!

【问题讨论】:

  • 你的代码失败了吗?
  • 请检查您发布的数据是否正确传递给 ajax。
  • 请查看您的浏览器控制台以检查 ajax 输出
  • 你的ajax请求没有发送吗??然后是发送到 ajax 的数据问题。
  • 你检查msg的值了吗?是不是有东西。在控制台中检查。

标签: javascript php jquery html ajax


【解决方案1】:

请检查

var email2 = $('#zoeknaam2').val('');

这不能为空

var email2 = $('#zoeknaam2').val();

如果您在服务器端获得适当的价值,那么服务器端代码就会出现问题。

要检查响应,请执行

console.log(JSON.stringify(msg));

根据提问者服务器端解决

public static function getProjectOnSearch($inp){
    return DB::table('projecten')         ->select(DB::raw('titel,status,prioriteit,soort,projectnaam,projecturl ,gebruikersnaam,wachtwoord ,gebruiker_id,omschrijvingproject')) ->where('projectnaam', 'LIKE', '%'.$inp.'%') ->get(); 
}

解决所有问题。

【讨论】:

  • 有点帮助。需要修复我的 php 代码: public static function getProjectOnSearch($inp){ return DB::table('projecten') ->select(DB::raw('titel,status,prioriteit,soort,projectnaam,projecturl ,gebruikersnaam, wachtwoord ,gebruiker_id,omschrijvingproject')) ->where('projectnaam', 'LIKE', '%'.$inp.'%') ->get(); }
  • 您需要根据需要按“id”搜索记录以进行编辑。
【解决方案2】:

获取元素的值然后清除它。

var email2 = $('#zoeknaam2').val();
$('#zoeknaam2').val('');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    相关资源
    最近更新 更多