2014-02-05 42 views
2

我有一個像這樣在我的形式提交按鈕:CakePHP的確認上提交

<?php echo $this->Form->end(__('Submit')); ?> 

,我要嵌入屬於輸入表格的一部分變量。

例如,我想嵌入一個在此輸入的變量$this->Form->input('user_id');

有誰知道如何做到這一點?我目前有onsubmit作爲選項數組的一部分,但是當我嘗試嵌入變量時會引發錯誤。

<?php echo $this->Form->create('Shift', array(
    'onsubmit' => 'return confirm("Creating shift for '$id' on ");' 
)); ?> 

現在編輯這個問題。所以Javascript解決方案運行良好。現在問題是我希望警報框顯示用戶的名稱,這是在保管箱中顯示的內容。但是,HTML標籤包含用戶的ID。下面是HTML

<div class="input select required"> 
    <label for="my_user_id">User</label> 
    <select name="data[Shift][user_id]" id="my_user_id" required="required"> 
    <option value="1">john doe</option> 
    <option value="2">john johnson</option> 

是否有訪問使用JavaScript <option>標記之間的值的方法嗎?

+0

如果你在第一個問題上得到答案,那麼開始另一個問題會更好。您的編輯與問題標題無關。 – bancer

回答

4

您需要用雙引號:

<?php 
echo $this->Form->create('Shift', array(
    'onsubmit' => "return confirm(\"Creating shift for '$id' on \");" 
)); 
?> 

另一種選擇是使用$this->Form->postLink()並設置$ confirmMessage參數,如果它是一個簡單的狀態轉換形式。

+0

簡單。固體。謝謝! –

2

您可以使用jQuery

echo $this->Form->create('Shift', array('id' => 'myform')); 
echo $this->Form->input('user_id', array('id' => 'my_user_id', 'type'=>'text')); 

表格後:

<?php echo $this->Html->scriptBlock(' 
$(document).ready(function() { 
    $("#myform").submit(function(event) { 
     alert("Creating shift for " + $("#my_user_id").val()); 
    }); 
}); 
'); 
?> 
+0

非常感謝,這工作得很好。我已經添加到我的問題,跟進。 –