Javascript 模态不';当php变量值较大时,无法打开

Javascript 模态不';当php变量值较大时,无法打开,javascript,php,jquery,html,modal-dialog,Javascript,Php,Jquery,Html,Modal Dialog,我在表格的每一行使用while循环中的edit按钮来将行值传递到模式表单中 <td><a class="custom-links" onclick='EditModal("<?php echo $data['id']; ?>","<?php echo $data['name']; ?>","<?php echo $data['price']; ?>","<?php echo $data['description']; ?>","&

我在表格的每一行使用while循环中的edit按钮来将行值传递到模式表单中

<td><a class="custom-links" onclick='EditModal("<?php echo $data['id']; ?>","<?php echo $data['name']; ?>","<?php echo $data['price']; ?>","<?php echo $data['description']; ?>","<?php echo $data['type']; ?>","<?php echo $data['cooking_instructions']; ?>","<?php echo $data['ingredients']; ?>","<?php echo $data['allergen_warnings']; ?>","<?php echo $data['storage_instructions']; ?>","<?php echo $data['case_size']; ?>","<?php echo 'uploaded_images/'.$data['image']; ?>")'>
    <button type="button" id="<?php echo $data['id']; ?>" class='btn btn-primary glyphicon glyphicon-edit'></button></a></td>
更新烹饪说明、更新配料、更新过敏原警告是文本区域

问题是,当
$data['cooking_instructions']、$data['components']、$data['allergen_warnings']
包含较少的单词时,或者我将它们从
editmodel
函数中删除,并且当它们的值较大时,模态不会打开


有人能指出我的错误吗?我做错了什么?当我从
EditModal

中删除这三个变量时,Modal正在打开。请尝试一下,不过请注意,单引号仍然存在问题:

<td><a class="custom-links" onclick='EditModal(<?php echo json_encode($data['id']); ?>,<?php echo json_encode($data['name']); ?>,<?php echo json_encode($data['price']); ?>,<?php echo json_encode($data['description']); ?>,<?php echo json_encode($data['type']); ?>,<?php echo json_encode($data['cooking_instructions']); ?>,<?php echo json_encode($data['ingredients']); ?>,<?php echo json_encode($data['allergen_warnings']); ?>,<?php echo json_encode($data['storage_instructions']); ?>,<?php echo json_encode($data['case_size']); ?>,<?php echo json_encode('uploaded_images/'.$data['image']); ?>)'>
    <button type="button" id=<?php echo json_encode($data['id']); ?> class='btn btn-primary glyphicon glyphicon-edit'></button></a></td>
如果您有换行符,则会变成这样:

EditModal("first line
second line");
这是无效的JavaScript。同样,双引号也可以做到这一点:

EditModal("Here is a quote --> " <-- see?");


editmodel(“这里有一个引号-->\”你的意思是说
update\u cooking\u instructions
update\u components
update\u allergen\u warnings
textaries
?浏览器中的控制台中是否有任何错误?较大的值是否包含任何引号或换行符?是的……更新\u cooking\u instructions、update\u components和update\u allergen\u warnings是文本区域,我正在通过javascript函数设置它们的值。请继续编辑问题以修复该句子。然后尝试一个带单引号的值。事情仍然会破裂。
EditModal("first line
second line");
EditModal("Here is a quote --> " <-- see?");
EditModal(<?php echo json_encode(foo); ?>);
EditModal("first line\nsecond line");
EditModal("Here is a quote --> \" <-- see?");