2016-09-07 9 views
1

"contenteditable"を利用して動的に作成されたテーブルがあります。contenteditableがMicrosoft Edgeで動作しない

最近、私はユーザーがMicrosoft Edge経由でこのWebページを使用しようとしましたが、フィールドは動作しませんでした。私はそれから私のコンピュータでも試してみましたが、同じ問題がありました。

私はGoogle Chromeを使用して開発していますが、問題なく動作しています。ドキュメントにはEdgeがサポートされています。ここで

は、私のテーブルの行を生成するコードです:

while($row = $ret->fetchArray(SQLITE3_ASSOC)){ 
    echo "<tr>"; 
     echo "<td style='width:10%;overflow:auto;border-left:1px solid #ddd;'> 
      <div style='cursor:pointer' name='del' class='fa fa-times-circle fa-lg button2' aria-hidden='true'> 
       <div style='display:none'> 
        ".$row['uniqueID']." 
       </div> 
      </div> 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;' id='Readable:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['Readable']." 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;' id='Type:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['Type']." 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;' id='Category:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['Category']." 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;' id='Status:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['Status']." 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;' id='ShelfID:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['ShelfID']." 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;' id='LocationID:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['LocationID']." 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;' id='Height:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['Height']." 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;' id='ListingStatus:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['ListingStatus']." 
     </td>"; 
     echo "<td style='width:10%;overflow:auto;border-right:1px solid #ddd;' id='Sales:".$row['uniqueID']."' contenteditable='true'> 
      ".$row['Sales']." 
     </td>"; 
    echo "</tr>"; 
} 

が、これは非互換性のいくつかの種類ですか?この問題を解決するにはどうすればよいですか?

答えて

4

このような問題を回避して互換性を最大限に高めるには、divのような限られたタグ数だけcontentEditableを使用する方がよいでしょう。

だから、解決策はのcontentEditable要素

+0

をそれらの細胞のそれぞれにdiv要素を含んでおり、これらのdivを作ることであろう、推奨タグのリストはありますか? 'div'以外に何か? 'span'のようなインラインで何か? – YakovL

+0

CKEditorで使用されるリストの例を見ることができます。私は、デフォルトではインライン要素を許可していないことを知っていますが、それを有効にするためにその設定を微調整することができます(ブラウザのバーフがあればあなた次第です) – AlfonsoML

+0

これは私にとってうまくいくソリューションです。 var value = document.getElementById( "行" + task_id + "_セル" + cell).innerHTML; 'をvar value = document.getElementById("行 "+ task_id +" _セル "+ cell).firstChildに変更する必要がありました。 innerHTML; '私のsaveEdit関数では、divの親TDセルのIDを確実に渡しています。 – TARKUS

関連する問題