2016-08-16 1 views
2

Я пытаюсь добавить раздел HTML в поле «alert», все работает хорошо, за исключением URL-адреса в добавленном HTML. Это мой HTML-код, который можно добавить с помощью jQuery.Прямые слэши ('/') не создаются при добавлении HTML - .append()

var html = "Please follow the template provided into sample file and try again."; 
html += '<span onclick="window.location="\Static\SampleQuote.xlsx"> Click Here </span>To Download'; 
loadAlertPopupHTML("FAILED","Excel file parsing failed.",html); 

Я попытался с помощью этого answer, но я до сих пор не получаю точный синтаксис.

Я попробовал каждый из них:

html += '<span onclick="window.location="\\Static\\SampleQuote.xlsx"> Click Here </span>'; 

html += '<span onclick="window.location=""/" \Static\SampleQuote.xlsx "/"> 
Click Here </span>'; 

html += '<span onclick="window.location="\Static\SampleQuote.xlsx"> 
Click Here </span>'; 

Но выход будет же без косой черты (/):

<span onclick="window.location=" staticsamplequote.xlsx"=""> Click Here </span> 

Вы также можете попробовать здесь в качестве примера: https://jsfiddle.net/smit_patel/exz6d1t3

ответ

2

Проблема связана с неправильной подобранными цитатами оберточной как атрибут onclick и window.location назначение. Вам нужно использовать скрытые одинарные кавычки в назначении window.location, а также избежать косой черты. Попробуйте это:

var html = "Please follow the template provided into sample file and try again. <br /><br />"; 
 
html += '<strong><span onclick="window.location=\'\\Static\\SampleQuote.xlsx\'" class="fa fa-download" style="color:#0055a5; font-size:15px; cursor:pointer;" title="Click to Download Sample Template"> Click Here </span> to download excel template Employee Census Form.</strong>'; 
 
$("#test").append(html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="test"></div>

еще лучше, просто использовать стандартный <a /> элемент, так как он имеет такое же поведение без недостатков пользователей, которые отключили JS, и является более доступным.

var html = "Please follow the template provided into sample file and try again. <br /><br />"; 
html += '<strong><a href="\Static\SampleQuote.xlsx" class="fa fa-download" title="Click to Download Sample Template">Click Here</a> to download excel template Employee Census Form.</strong>'; 
$("#test").append(html); 
-1

В js "\" используется для escape-последовательности. так использовать, как этот

onclick="window.location="\\Static\\SampleQuote.xlsx" 
+0

Обратите внимание на двойные кавычки с неправильной совпадением –

0

Я изменил ваш jsfiddle, как показано ниже, и его работу сейчас.

$("#test").append("Please follow the template provided into sample file and try again. <br /><br />"); 
$("#test").append('<strong><span onclick=window.location="/\Static/\SampleQuote.xlsx" class="fa fa-download" style="color:#0055a5; font-size:15px; cursor:pointer;" title="Click to Download Sample Template"> Click Here </span> to download excel template Employee Census Form.</strong>'); 
$("#test").append(html); 
Смежные вопросы