2012-08-24 13 views
9

Tôi có mẫu chuỗi nhiều dòng trong tệp js riêng biệt của nó để sử dụng trong dấu gạch dưới js. Tuy nhiên, bất kể cách tôi thoát khỏi ngắt dòng tôi vẫn nhận được một:Chuỗi nhiều dòng Javascript và Mã thông báo không mong muốn ILLEGAL

Uncaught SyntaxError: Unexpected token ILLEGAL

Trên dòng 1 của tệp khi được tải vào trình duyệt.

App.Templates['template1'] = '\ 

<div data-role="page" data-theme="c" id="" data-title="">\ 

    <div data-role="content" class="subnav">\ 

     <table id="day-table" cellpadding="0" cellspacing="0" border="0">\ 
      <thead class="ui-body-a">\ 
       <tr>\ 
        <th>T</th>\ 
        <th>J</th>\ 
        <th>H</th>\ 
        <th>C</th>\ 
       </tr>\ 
      </thead>\ 
      <tbody>\ 
      </tbody>\ 
      <tfoot>\ 
       <tr>\ 
        <td class="total-label" colspan="2">Total:</td>\ 
        <td class="total"></td>\ 
       </tr>\ 
       <tr>\ 
        <td class="btn-row">\ 
         <a href="#r" data-role="button" id="add-btn" data-rel="dialog" data-mini="true" data-inline="true" data-icon="add">Add Rows</a>\ 
         <a href="#" data-role="button" id="save-btn" data-rel="dialog" data-mini="true" data-inline="true" data-theme="b" data-icon="check">Save</a>\ 
        </td>\ 
       </tr>\ 
      </tfoot>\ 
     </table>\ 

    </div><!--/content-->\ 

</div><!-- /page -->'; 

Bất kỳ ý tưởng nào?

+1

Bạn đang thiếu một vài '\\ '' s – Esailija

+0

Tôi yêu Javascript, nhưng đôi khi nó làm cho tôi muốn làm rất nhiều sobtears ra khỏi mắt tôi. –

Trả lời

11

Terminators dòng không được phép vào chuỗi, bạn cần phải thoát khỏi họ:

App.Templates['template1'] = '\ 
\ 
<div data-role="page" data-theme="c" id="" data-title="">\ 
\ 
    <div data-role="content" class="subnav">\ 
\ 
     <table id="day-table" cellpadding="0" cellspacing="0" border="0">\ 
      <thead class="ui-body-a">\ 
       <tr>\ 
        <th>T</th>\ 
        <th>J</th>\ 
        <th>H</th>\ 
        <th>C</th>\ 
       </tr>\ 
      </thead>\ 
      <tbody>\ 
      </tbody>\ 
      <tfoot>\ 
       <tr>\ 
        <td class="total-label" colspan="2">Total:</td>\ 
        <td class="total"></td>\ 
       </tr>\ 
       <tr>\ 
        <td class="btn-row">\ 
         <a href="#r" data-role="button" id="add-btn" data-rel="dialog" data-mini="true" data-inline="true" data-icon="add">Add Rows</a>\ 
         <a href="#" data-role="button" id="save-btn" data-rel="dialog" data-mini="true" data-inline="true" data-theme="b" data-icon="check">Save</a>\ 
        </td>\ 
       </tr>\ 
      </tfoot>\ 
     </table>\ 
\ 
    </div><!--/content-->\ 
\ 
</div><!-- /page -->'; 

Để làm cho nó dễ dàng hơn để xem nơi bạn có Terminators dòng, bạn có thể bật khoảng trắng có thể nhìn thấy trong trình soạn thảo văn bản của bạn và bạn nên nhìn thấy một cái gì đó như thế này:

enter image description here

+0

Cảm ơn câu trả lời. Mặc dù tôi đã tìm ra nó với một chút thử thách và tôi sẽ chấp nhận câu trả lời của bạn. –

+0

@XMO điều quan trọng cần hiểu là bạn đang thoát khỏi các ký tự dòng mới "vô hình" ... một dòng "trống" vẫn có một ký tự dòng mới trong đó. Bạn có thể bật các dòng mới hiển thị trong trình chỉnh sửa văn bản và xem nơi chúng cần được thoát. – Esailija

+0

Tôi sẽ phải tìm ra cách để làm điều đó trong SublimeText. Cảm ơn! –

2

I figured it out. Dòng trống cũng cần phải được thoát.

App.Templates['template1'] = '\ 
\ 
<div data-role="page" data-theme="c" id="" data-title="">\ 
\ 
    <div data-role="content" class="subnav">\ 
\ 
     <table id="day-table" cellpadding="0" cellspacing="0" border="0">\ 
      <thead class="ui-body-a">\ 
       <tr>\ 
        <th>T</th>\ 
        <th>J</th>\ 
        <th>H</th>\ 
        <th>C</th>\ 
       </tr>\ 
      </thead>\ 
      <tbody>\ 
      </tbody>\ 
      <tfoot>\ 
       <tr>\ 
        <td class="total-label" colspan="2">Total:</td>\ 
        <td class="total"></td>\ 
       </tr>\ 
       <tr>\ 
        <td class="btn-row">\ 
         <a href="#r" data-role="button" id="add-btn" data-rel="dialog" data-mini="true" data-inline="true" data-icon="add">Add Rows</a>\ 
         <a href="#" data-role="button" id="save-btn" data-rel="dialog" data-mini="true" data-inline="true" data-theme="b" data-icon="check">Save</a>\ 
        </td>\ 
       </tr>\ 
      </tfoot>\ 
     </table>\ 
\ 
    </div><!--/content-->\ 
\ 
</div><!-- /page -->'; 
+0

Có, nó thực sự chỉ là một ký tự dòng mới đã được thoát - nó không quan trọng những gì trên một dòng cụ thể. – pimvdb