2017-05-18 4 views
-6

ドキュメントレディ機能で文字列を実行する方法は? これは私の文字列です。ドキュメントレディ機能で文字列を実行する方法

"if(!$('#frmReportPara').validatec({employee_no_from:{required:true},employee_no_to:{required:true},division_id:{required:true}})){return;}" 
+0

JavaScriptで悪と考えられていますか?しかし、それは最良の解決策ではありません...あなたの目標を見直すべきかもしれません。 – Alessandro

答えて

1
$(document).ready(function() { 
    str = "if(!$('#frmReportPara').validatec({employee_no_from:{required:true},employee_no_to:{required:true},division_id:{required:true}})){return;});" 
    eval(str); 
}); 
+0

いいえ、それは動作していません..私はすでに試してみました。 – Hashan

+1

あなたの文字列が有効でないためにJavaScriptが有効になっていません – Avitus

+0

@Hashan "not working"は問題の説明ではありません。 [ブラウザコンソール(dev tools)](https://webmasters.stackexchange.com/q/8525)(「F12」を押す)を使用してエラーを読んでください。また、あなたが試したことをあなたの質問に明記してください。あなたはあなたの研究を示すことが期待されます! – Xufox

2

あなたは、通常evalようunsafeみなさ機能のいずれかを使用する必要がある文字列を実行します。誰かがあなたの文字列に何かを注入することが可能である場合、それらは注射ならば、彼らは潜在的に誰か他の人のブラウザ上でコードを実行する可能性(データベースで何かを保存していると言う)

  • :これを行う前に、あなたはいくつかのことを注意してください悪意のあるコードをデータベースに追加します。
  • ブラウザが原因evalにこのJavaScriptを最適化することはできませんので、あなたはいくつかのパフォーマンスを取るよ

を打つだからあなたは何ができる:

$(document).ready(function() { 
    var myFunc = 'console.log("Foo");' 
    eval(myFunc); 
}); 
1

あなたはeval関数を使用することができます。

コード

$(document).ready(function(){ 
    eval("if(!$('#frmReportPara').validatec({employee_no_from:{required:true},employee_no_to:{required:true},division_id:{required:true}})){return;}" 
); 
}) 

警戒though.eval(BE)は、evalを

+0

それは悪ではない(あるいは悪とみなされる)ものではありません。入力文字列を制御しないと安全ではありません。 –

+0

はい、初心者がそれを悪用するのはとても簡単ですが、それは私が意味していたものです。 –

関連する問題