0

私のjavascript AJAXコードは以下の通りです。これは Chrome と FF では期待どおりに機能しますが、IE では、POST 変数がcustomer_savedesign.php以下に到達しないことを発見しましたが、それでもコンソールに「結果が得られました」という出力が得られます。.serialize()IEはフォームデータにjquery関数を使えば動くと思っていたのですが、まだ動きません。私も使用していません.submit()。直接 ajax 呼び出しを行うだけです。

 $.ajax({
           type: "POST",
           url: "customer_savedesign.php",
           data: $('#designform').serialize(), 
           success: function(data)
          {   arr = data.split(':');
              console.log("got result");
              // show response from the php script.
              console.log("arr1 is " + arr[1]);
           } 
       });

編集

私のフォームは次のようになります。

    <div class='lefttable'>
    <form id='designform' name='designform' method='post' action='customer_savedesign.php'> 
<table style='margin-top:20px;text-align:right; bidi-direction:rtl; font-size:12pt' class='form' id='arabic-fields'>

<tr><td>اسم الشركة</td></tr>
<tr><td> <textarea tabindex="1" type='text' class='large ar arindic expand20-60' id='ar_Company_Name' style='bidi-direction:rtl; text-align:right;'></textarea> </td></tr>

<tr><td>رسالة الشركة</td></tr>
<tr><td> <textarea type='text' tabindex="1" class='large ar arindic expand20-60' id='ar_Company_Message' style='bidi-direction:rtl; text-align:right;'></textarea> </td></tr>

</table>
<input type='button' id='newfield' class='ar newfield' value='نص جديد' />

<input type='hidden' id='state_history' style='width:300px; height:30px;' />
<input type='hidden' id='current_state' style='width:300px; height:30px;' />
<input type='hidden' name='designid' id='designid' value='<?php echo $d->getID(); ?>' />
<input type='hidden' name='parentid' id='parentid' value='<?php echo $d->getParentID(); ?>'/>
<input type='hidden' name='productid' id='productid' value='0'/>
<input type='hidden' name='templateid' id='templateid' value='0'/>
<input type='hidden' name='orientation' id ='orientation' value='<?php echo $orientation; ?>' />
<input type='hidden' name='side' id='side' value='<?php echo $side; ?>' />
<input type='hidden' name='userid' id='userid' value='<?php echo $user_id; ?>'/>
<input type='hidden' name='usertype' id='usertype' value='<?php echo $user_type; ?>'/>
<input type='hidden' name='designdata' id='designdata' />
<input type='hidden' name='designtag' id='designtag' />
<input type='hidden' name='orderdetailid' id='orderdetailid' value='<?php echo $order_detail_id; ?>' />
<input type='hidden' name='wasnew' id='wasnew' value='<?php echo $wasnew; ?>' />
<input type='hidden' name='action' id='action' value='<?php echo $_GET['action']; ?>' />
<input type='hidden' name='saveasaction' id='saveasaction'  />
</form>
</div>
4

1 に答える 1

0

.serialize() の代わりに .serializaArray() を使用してみてください。また、コンソールが開いていないと失敗するため、IE で console.log() を使用しないでください。

于 2013-04-24T13:46:04.400 に答える