我使用boot box,js具有确认警报。在启动箱中,允许用户制作自定义的HTML表单。但是,我有一些由PHP foreach填充的形式元素/值。我试图这样写,但它不起作用。警报未触发。
bootbox.confirm({
title : "Testing",
message :
"<form id='test'>
<h3>Dept: </h3>
<table width='100%' cellspacing='0' cellpadding='3px'>
<?php foreach($dept as $row_dept){ ?>
<tr>
<td align='center' width='5%'><input type='checkbox' name='first_name' /></td>
<td align='left'>"+<?php $row_dept->dept; ?>+"</td> /*If I remove this line, there is no error. But no value is shown*/
</tr>
<?php }; ?>
<tr>
<td colspan='2'><h3>Disposisi</h3><textarea id='disposisi' name='disposisi' class='form-control'></textarea></td>
</tr>
</table>
</form>",
buttons : {
cancel : { label: '<i class="fa fa-times"></i> Batal' },
confirm : { label: '<i class="fa fa-check"></i> OK'}
},
callback: function (result) {
if(result == true){
var disposisi = $("#test").find('textarea[name=disposisi]').val();
alert(disposisi);
}
}
});
看来您有一个newline问题。
尝试一下 - 回头`在较新的浏览器中工作 - 否则使用" ..." " ..."一路
bootbox.confirm({
title: "Testing",
message: `<form id='test'>
<h3>Dept: </h3>
<table width='100%' cellspacing='0' cellpadding='3px'>
<?php foreach($dept as $row_dept){ ?>
<tr>
<td align='center' width='5%'><input type='checkbox' name='first_name' /></td>
<td align='left'><?php echo $row_dept->dept; ?></td>
</tr>
<?php }; ?>
<tr>
<td colspan='2'><h3>Disposisi</h3><textarea id='disposisi' name='disposisi' class='form-control'></textarea></td>
</tr>
</table>
</form>`,
buttons: {
cancel: {
label: '<i class="fa fa-times"></i> Batal'
},
confirm: {
label: '<i class="fa fa-check"></i> OK'
}
},
callback: function(result) {
if (result == true) {
var disposisi = $("#test").find('textarea[name=disposisi]').val();
alert(disposisi);
}
}
});