0

JavaScript コードから次のエラーが表示されます。

Uncaught ReferenceError: Invalid left-hand side in assignment 

これが私のコードです:

<script type="text/javascript">
function repartition()
{
    var principal_p             = <?php echo $data23['principal_p'] ;?>; 
    var principal_c             = <?php echo $data23['principal_c'] ;?>; 
    var interets_p              = <?php echo $data23['interets_p'] ;?>; 
    var interets_c              = <?php echo $data23['interets_c'] ;?>; 
    var clause_penale_p         = <?php echo $data23['clause_penale_p'] ;?>; 
    var clause_penale_c         = <?php echo $data23['clause_penale_c'] ;?>;
    var domages_interets_p      = <?php echo $data23['domages_interets_p'] ;?>;
    var domages_interets_c      = <?php echo $data23['domages_interets_c'] ;?>;
    var art700_cpc_p            = <?php echo $data23['art700_cpc_p'] ;?>;
    var art700_cpc_c            = <?php echo $data23['art700_cpc_c'] ;?>;
    var art475_1_cpp_p          = <?php echo $data23['art475_1_cpp_p'] ;?>;
    var art475_1_cpp_c          = <?php echo $data23['art475_1_cpp_c'] ;?>;
    var art_441_6_cc_p          = <?php echo $data23['art_441_6_cc_p'] ;?>;
    var art_441_6_cc_c          = <?php echo $data23['art_441_6_cc_c'] ;?>;
    var frais_ar_p              = <?php echo $data23['frais_ar_p'] ;?>; 
    var frais_ar_c              = <?php echo $data23['frais_ar_c'] ;?>;
    var agios_p                 = <?php echo $data23['agios_p'] ;?>; 
    var agios_c                 = <?php echo $data23['agios_c'] ;?>;
    var depens_p                = <?php echo $data23['depens_p'] ;?>; 
    var depens_c                = <?php echo $data23['depens_c'] ;?>;   
    var frais_execution_p       = <?php echo $data23['frais_execution_p'] ;?>; 
    var frais_execution_c       = <?php echo $data23['frais_execution_c'] ;?>;  
    var contrib_aid_juridiq_p   = <?php echo $data23['contrib_aid_juridiq_p'] ;?>;
    var contrib_aid_juridiq_c   = <?php echo $data23['contrib_aid_juridiq_c'] ;?>;  
    var frais_greffe_p          = <?php echo $data23['frais_greffe_p'] ;?>;
    var frais_greffe_c          = <?php echo $data23['frais_greffe_c'] ;?>;
    principal = document.getElementsByName("principal_s");
    document.getElementsById(nprincipal)= (principal*principal_p)/100;
}
</script>

エラーの原因となっている行は、その中にある行document.getElementsByIdです。なぜエラーが発生するのですか?

4

5 に答える 5

4

割り当てることができる参照ではなく、代わりに値を割り当てることができない関数呼び出しの結果を割り当てようとしています。これが、そのエラーが発生する理由です。


一般的にコードを修正することに関しては、それは範囲外です。私はいくつかの推測であなたを助けることができます:

.innerHTML要素のを次のように値に設定できます。

   document.getElementById("nprincipal").innerHTML = (principal[0].value*principal_p)/100;

私も修正しました:

  • getElementsByIdする必要がありますgetElementById
  • principalは単一の入力要素であると私が想定しているライブノードリストなので.value[0].value
  • コードで定義されていないgetElementById文字列を使用しますnprincipal
于 2012-08-06T09:13:48.507 に答える
1

コードで何をしようとしていますか?計算結果をDOM要素に割り当てている時点で、結果をページに表示する場合は、おそらく次のようにします。

document.getElementById(nprincipal).innerHTML = (principal*principal_p)/100;
于 2012-08-06T09:14:41.573 に答える
0
document.getElementsById(nprincipal)= (principal*principal_p)/100;

エラーです...フォーム要素の場合はそうあるべきです

document.getElementById(nprincipal).value= (principal*principal_p)/100;

編集

また

principal = document.getElementByName("principal_s");

する必要があります

principal = document.getElementByName("principal_s").value;
于 2012-08-06T09:15:56.577 に答える
0

私が作ったコメントをopに拡張するには。

json および javascript オブジェクトを調べます。これにより、データを php から javascript に解析する手間を大幅に省くことができます。

var data23 = <?php echo json_encode($data23) ;?>

これにより、オブジェクトは次のようになります。

{
    principal_p: <?php echo $data23['principal_p'] ;?>,
    principal_c: <?php echo $data23['principal_c'] ;?>,
    interets_p: <?php echo $data23['interets_p'] ;?>, 
    interets_c: <?php echo $data23['interets_c'] ;?>,

    ....
}

を参照しdata23.principal_pて、 から解析されたデータを取得できるようになりました<?php echo $data23['principal_p'] ;?>

これは答えではありません。計算を DOM ノードに割り当てようとすると、何かが欠けていることがわかります。

PHP.net json_encode

于 2012-08-06T09:21:35.167 に答える
0

これを使って:

document.getElementsById("nprincipal").value = (principal*principal_p)/100;

また

document.getElementsById("nprincipal").innerHTML = (principal*principal_p)/100;
于 2012-08-06T09:23:55.617 に答える