1

次のようなリンクがあります。

<a class="glyphicon glyphicon-remove glyphicon-color-red btn-delete" data-toggle="modal" data-target="#myModal" user-id="56f52ea551d72027711157d6"></a>

jquery では、クリック時にパラメーターを取得してuser-idアクション URL を変更すると、削除ボタンをクリックするとモーダル ポップアップが表示され、このコードが機能しませんが、要素を検査するとアクションが空であることがわかりますか?

$('.btn-delete').click(function () {
  var user_id = $(this).attr('user-id');
  $('#modal-form').attr('action', "{{ url_for('admin.delete_user', id=" +user_id+" ) }}");
    });

Python のルート admin.delete_user で使用する方法は次のとおりです。

def delete_user(self, id):
    mongo.db.users.remove({'_id': ObjectId(id)})
    return redirect(url_for('admin.users'))

そしてモーダルポップアップ:

<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog modal-sm">
  <div class="modal-content">
    <div class="modal-header">
      <button type="button" class="close" data-dismiss="modal">&times;</button>
      <h4 class="modal-title"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span></h4>
    </div>
    <form id="modal-form" action=" "  method="POST">
    <div class="modal-body">
      <p>Are you sure?</p>
    </div>
    <div class="modal-footer">
          <button type="button" class="btn btn-default btn-sm btn-style" data-dismiss="modal">Cancel</button>
          <button type="submit" class="btn btn-default btn-sm btn-filter-apply btn-style" >Yes</button>
    </div>
    </form>
  </div>
</div>

jquery でアクション URL が追加されない理由がわかりません。

4

2 に答える 2

0

変更を行う前に、DOM がロードされていることを確認してください。これには、ready() を使用できます。

$(document).ready(function(){ /* your code */ });
于 2016-03-25T13:42:48.353 に答える
0

url_for 関数を変更して、必要な URL の一部を生成し、それをアクション属性に配置します。次に、jquery を使用して user_id を文字列に追加します。パラメータを解析するために、URL を取得しているものを必ず変更してください。次に例を示します。

url_for は次のようなものを返します: http://www.example.com?delete_user=

次に、フォーム アクション:

<form id="modal-form" action="{{url_for(delete_user)}}"  method="POST">

そして、あなたのjqueryは次のようになります:

$('.btn-delete').click(function () {
    var user_id = $(this).attr('user-id');
    var action = $('#modal-form').attr('action');
    $('#modal-form').attr('action', action + user_id);
});

最後に、フォームを解析しているものは何でも、url パラメータ delete_user= を探し、追加した user_id を使用します。

于 2016-03-25T13:46:19.537 に答える