2016-02-12 69 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

相关问题