2016-02-12 71 views
0

我有這樣的代碼:如何解決這個錯誤?未定義

HTML:

<form method="post" action="<?php echo $this->serverUrl().str_replace('public','',$this->basePath()).'/user/sendmessagetoinbox/'; ?>"> 
    <fieldset> 
     <label>Subject</label> 
     <input type="text" name="inbox_subject" /> 
    </fieldset> 
    <fieldset> 
     <label>Message</label> 
     <textarea name="inbox_message"></textarea> 
    </fieldset> 
    <fieldset> 
     <button type="submit" class="btn btn-primary btn-save send-btn">Send message to inbox</button> 
     <!-- <input type="submit" class="btn btn-submit" value="Send message to inbox" /> --> 
    </fieldset> 
    <input type="hidden" value="" name="patient-id" /> 
</form> 

JS:

$('#inMail').on('show.bs.modal', function (event) { 
    var url='<?php echo $this->serverUrl().str_replace('public','',$this->basePath()).'/user/sendmessagetoinbox/'; ?>'; 
    console.log(url); 
    var pId = $(event.relatedTarget).data('patientId') 
    console.log(pId); //UNDEFINED 
    $(".modal-body").find('form').attr("action",url+pId); 
}) 

我希望在行動送病人ID下面的表格。這個怎麼做?

+2

哪個元素是'event.relatedTarget' – Rajesh

+2

使用此$(「[name ='patient-id']」).val()來獲取患者ID我認爲'$(event.relatedTarget)'是未定義的 – Cyril

+0

你能詳細說明一下嗎? 1)你期待什麼行爲? 2)你看到什麼行爲? 3)是否有任何控制檯輸出? –

回答

0

能否請您檢查該
var pId = $(event.relatedTarget).data('patientId');
嘗試
var pId = $(event.relatedTarget).data('patient-id');

更換,我認爲它的所有關於形式的名稱屬性

+0

不,在jQuery中它可以與** camelCase **和**連字符**一起使用。 (在**純JS *它必須是** camelCase **'selectedElement.dataset.patientId') –

+1

也沒有元素的屬性爲'data-patient-id',所以這可能永遠不會工作 – DarkBee

0

嘗試添加ID = 「病人ID」 中put標籤:

<input type="hidden" value="" id="patient-id" name="patient-id" /> 

var pId = $('#patient-id').val(); 
+0

爲什麼不只是目標選擇器與@名稱屬性@Cyril建議在評論中 – DarkBee

相關問題