ユーザーがお互いにいくらかのギフトを送ることができるフォームがあり、ギフトを送るときにそのような金額がかかることを知らせてほしい。ダイアログボックスを開くことはできましたが、ユーザーが [はい] をクリックしたときに ajax 送信を処理できません。サーバーに渡していません。ただし、ダイアログボックスなしで送信すると、正常に機能します。助けてください。前もって感謝します!ここにスクリプトがあります:
<div id="gift_sent" style="float: left; width: 370px; margin: 5px 0 5px 0; display: none;"><?php echo ucfirst(__('Gift Sent', true)) ?></div>
<div style="float: left; width: 370px; margin: 50px 0 10px 0;">
<?php // echo $this->Form->create('Gift', array('action' => 'sent/' . $user_obj['User']['id'] . '/' . $gift['GiftPhoto']['id'], 'div' => false, 'id' => "submit_".$gift['GiftPhoto']['id'])); ?>
<?php echo $this->Form->create('Gift', array('div' => false, 'id' => "submit_".$gift['GiftPhoto']['id'])); ?>
<?php echo $this->Form->input('user_id', array('type' => 'hidden', 'value' => $user_obj['User']['id'])); ?>
<?php echo $this->Form->input('sender_id', array('type' => 'hidden', 'value' => $user_object['id'])); ?>
<?php echo $this->Form->input('gift_id', array('type' => 'hidden', 'value' => $gift['GiftPhoto']['id'])); ?>
<?php echo $this->Form->input('description', array('label' => 'Greetings, 240 characters max', 'rows' => '5', 'style' => 'width: 350px;', 'div' => false )); ?>
<div class="clr"></div>
<?php echo $this->Form->end('Send'); ?>
</div>
<script type="text/javascript">
jQuery(document).ready(function() {
var link = "<?php echo $html->url("/gifts/sent/" . $user_obj['User']['id'] . '/' . $gift['GiftPhoto']['id']) ?>";
$( "#submit_<?php echo ($gift['GiftPhoto']['id']); ?>" ).submit(function( event ) {
event.preventDefault();
$("#dialog-confirm").dialog('open');
return false;
});
$("#dialog-confirm").dialog({
resizable: false,
height:190,
autoOpen: false,
width: 330,
modal: true,
buttons: {
"Yes": function() {
$.ajax({
cache: false,
type: "POST",
data: $(this).serialize(),
url: link,
// url: "<?php echo $html->url("/gifts/sent/" . $user_obj['User']['id'] . '/' . $gift['GiftPhoto']['id']) ?>",
success: function() {
$('#gift_sent').show();
$(':input', '#submit_<?php echo ($gift['GiftPhoto']['id']); ?>')
.not(':button, :submit, :reset, :hidden')
.val('');
}
});
$(this).dialog("close");
},
"No": function() {
$(this).dialog("close");
}
}
});
});
</script>
<div id="dialog-confirm" title="Send a Gift">
<p>This Gift Cost <?php echo ($gift_cost); ?> Points to send. You sure you want to continue?</p>
</div>
これは、ダイアログ ボックスのない作業コピーです。
<script type="text/javascript">
jQuery(document).ready(function() {
$('#submit_<?php echo ($gift['GiftPhoto']['id']); ?>').bind('submit', function(event) {
$.ajax({
cache: false,
type: "POST",
url: "<?php echo $html->url("/gifts/sent/" . $user_obj['User']['id'] . '/' . $gift['GiftPhoto']['id']) ?>",
data: $(this).serialize(),
success: function() {
$('#gift_sent').show();
$(':input', '#submit_<?php echo ($gift['GiftPhoto']['id']); ?>')
.not(':button, :submit, :reset, :hidden')
.val('');
}
});
return false;
});
});
</script>