Dynamin创建链接传递对象作为参数

Dynamin创建链接传递对象作为参数

问题描述:

我已创建动态<a />标记与onclick事件和此事件调用一个函数,其中包含一个对象作为参数,我通过,但onclick链接上发生错误SyntaxError:预期的表达式,脚本结束了Dynamin创建链接传递对象作为参数

<head> 
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.34.7/css/bootstrap-dialog.min.css" rel="stylesheet"/> 
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.34.7/js/bootstrap-dialog.min.js"></script> 
<script> 

function callconfirm(cb,pmessage) 
{ 
    // var isConfirmed 
    BootstrapDialog.confirm({ 
      title: 'WARNING', 
      message: pmessage, 
      type: BootstrapDialog.TYPE_WARNING, // <-- Default value is BootstrapDialog.TYPE_PRIMARY 
      closable: false, // <-- Default value is false 
      draggable: false, // <-- Default value is false 
      btnCancelLabel: 'Do not drop it!', // <-- Default value is 'Cancel', 
      btnOKLabel: 'Drop it!', // <-- Default value is 'OK', 
      btnOKClass: 'btn-warning', // <-- If you didn't specify it, dialog type will be used, 
      callback:cb /*function(result) { 
       // result will be true if button was click, while it will be false if users close the dialog directly. 
       if(result) { 
        return true; 
       }else { 
        return false; 
       } 
      }*/ 
     }); 


} 


function b1checkConfirm(result,id) 
{ 
    //callconfirm(); 
    console.log("B1 click and result is "+result); 
    console.log(this.p1); 
    console.log(this.p2); 
} 

</script> 
</head> 
<body> 

<script type="text/javascript"> 

document.write('<a href="javascript:void(0)" onClick="javascript:callconfirm(b1checkConfirm.bind({p1: Hello, p2:World}),"Hello")" >Click</a>'); 
</script> 

</body> 

你的问题是文件撰写的这一部分:

b1checkConfirm.bind({p1: Hello, p2:World}),"Hello" 

你好世界必须逃出来的,因为他们的部分您可以编写HTML:

b1checkConfirm.bind({p1: &apos;Hello&apos;, p2: &apos;World&apos;}),&apos;Hello&apos; 

片段:

function callconfirm(cb,pmessage) 
 
{ 
 
    // var isConfirmed 
 
    BootstrapDialog.confirm({ 
 
     title: 'WARNING', 
 
     message: pmessage, 
 
     type: BootstrapDialog.TYPE_WARNING, // <-- Default value is BootstrapDialog.TYPE_PRIMARY 
 
     closable: false, // <-- Default value is false 
 
     draggable: false, // <-- Default value is false 
 
     btnCancelLabel: 'Do not drop it!', // <-- Default value is 'Cancel', 
 
     btnOKLabel: 'Drop it!', // <-- Default value is 'OK', 
 
     btnOKClass: 'btn-warning', // <-- If you didn't specify it, dialog type will be used, 
 
     callback:cb /*function(result) { 
 
     // result will be true if button was click, while it will be false if users close the dialog directly. 
 
     if(result) { 
 
     return true; 
 
     }else { 
 
     return false; 
 
     } 
 
     }*/ 
 
    }); 
 

 

 
} 
 

 

 
function b1checkConfirm(result,id) 
 
{ 
 
    //callconfirm(); 
 
    console.log("B1 click and result is "+result); 
 
    console.log(this.p1); 
 
    console.log(this.p2); 
 
} 
 

 
document.write('<a href="javascript:void(0)" onClick="javascript:callconfirm(b1checkConfirm.bind({p1: &apos;Hello&apos;, p2: &apos;World&apos;}),&apos;Hello&apos;)" >Click</a>')
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.34.7/css/bootstrap-dialog.min.css" rel="stylesheet"/> 
 
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-dialog/1.34.7/js/bootstrap-dialog.min.js"></script>

你需要逃避你"

<script type="text/javascript"> 

document.write('<a href="javascript:void(0)" onClick="javascript:callconfirm(b1checkConfirm.bind({p1: Hello, p2:World}),\"Hello\")" >Click</a>'); 
</script> 

因为代码会认为第二杉杉后onClick事件结束你打招呼的牛逼"

+0

您真正需要使用'\'''因为将document.write'剥去'\”'和代码将回同样的问题'onclick'即将结束。 – bobjoe

+0

这可能有效。让我们让OP尝试一下, – Nicolas