2016-02-12 8 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); 
}) 

Я желаю, чтобы отправить идентификатор пациента в действии следующую форму. Как это сделать?

+2

Какой элемент 'event.relatedTarget' – Rajesh

+2

использовать этот $ (" [name = 'patient-id'] ") .val(), чтобы получить идентификатор пациента, я думаю, что' $ (event.relatedTarget) 'undefined – 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

попробуйте добавить идентификатор = «пациент-идентификатор» в пут теге:

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

также

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

Почему бы не только целевой селектор с атрибутом 'name' как @Cyril, предложенный в комментариях – DarkBee

Смежные вопросы