2017-02-11 4 views
0

Я этот скрипт кусочкам из нескольких источниковJavascript добавить в текстовый файл, игнорируя элемент

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 

    <script type="text/javascript" src="http://code.jquery.com/jquery- 

git.js"></script> 


<script type='text/javascript'>//<![CDATA[ 
$(function(){ 
$('.button').click(function(event) { 
    event.preventDefault(); 
    if ($("#TextToSave").text() == "type your text here ...") { 
    $("#TextToSave").text($(this).html()); 
    } else { 
     $("#TextToSave").text($("#TextToSave").text() + $(this).html()); 
    } 
}); 

});//]]> 

</script> 


</head> 

<body> 
    <a href="#" class="button"> 
<track><location>path 1</location></track></a><br> 

<a href="#" class="button"> 
<track><location>path 2</location></track></a><br> 

<a href="#" class="button"> 
<track><location>path 3</location></track></a> <br> 


    <textarea id="TextToSave" cols="48" id="textarea" rows="5" 

onfocus="if(this.value=='type your text here ...')this.value='';" 

onblur="if(this.value=='')this.value='type your text here ...';">type 

your text here ...</textarea> 

    <script> 
    // tell the embed parent frame the height of the content 
    if (window.parent && window.parent.parent){ 
    window.parent.parent.postMessage(["resultsFrame", { 
     height: document.body.getBoundingClientRect().height, 
     slug: "BHCdJ" 
    }], "*") 
    } 
</script> 

<table> 
    <tr> 
     <td>Filename to Save As:</td> 
     <td><input id="inputFileNameToSaveAs"></input></td> 
     <td><button onclick="saveTextAsFile()">Save Text to 

File</button></td> 
    </tr> 
</table> 

<script type="text/javascript"> 

function saveTextAsFile() 
{ 
    var textToSave = document.getElementById("TextToSave").value; 
    var textToSaveAsBlob = new Blob([textToSave], {type:"text/plain"}); 
    var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob); 
    var fileNameToSaveAs = document.getElementById 

("inputFileNameToSaveAs").value; 

    var downloadLink = document.createElement("a"); 
    downloadLink.download = fileNameToSaveAs; 
    downloadLink.innerHTML = "Download File"; 
    downloadLink.href = textToSaveAsURL; 
    downloadLink.onclick = destroyClickedElement; 
    downloadLink.style.display = "none"; 
    document.body.appendChild(downloadLink); 

    downloadLink.click(); 
} 

function destroyClickedElement(event) 
{ 
    document.body.removeChild(event.target); 
} 
</script> 

</body> 
</html>' 

Проблема у меня есть ссылки отформатированы как <a href="#" class="button"> <track><location>path 1</location></track></a><br> Текстовые копии прекрасно и создает текстовый файл со всеми текста, кроме него игнорирует </track> Есть ли простой способ исправить это?

+0

Что значит, что он игнорирует ''? Что с ним должно произойти? – putvande

+0

Когда я нажимаю на ссылку, он добавляет текст ссылки в текстовое поле, где его можно отправить в текстовый файл. Эта часть работает нормально. Текст, который копируется должен быть « path1» в данный момент он копирует как « path1» Это не копирует «» часть. Кажется, что проблема с косой чертой в '' – Greg

+0

'' Недействительный элемент html, это должно быть просто '' https://developer.mozilla.org/en-US/docs/Web/HTML/ Элемент/дорожка – uingtea

ответ

1

я проверить ваш код, но ничего не могу найти, почему он не работает, но я сделал простой код для вас ..hope он будет работать для вас в этом случае

<script type='text/javascript'> 
    $(function(){ 
    $('.button').click(function() { 
    event.preventDefault(); 
    if ($("#TextToSave").text() == "type your text here ...") { 
     $("#TextToSave").text($(this).html()); 
    } else { 
    $("#TextToSave").text($("#TextToSave").text() + $(this).html()+'</track>'); 
    } 
    }); 
}); 

</script> 
+0

Это отлично работает, только когда вы нажимаете ссылку, она все еще не копирует «», но каждая ссылка после этого делает. – Greg

0

Похоже, это может быть ошибка с JQuery's .html() и тегом <track>. Когда я сменил <track> на <p>, код работал нормально. Основываясь на этом фрагменте, похоже, что вам действительно не нужно использовать тег <track>, не так ли?

+0

Да, мне действительно нужны теги '', эта проблема, похоже, исходит из косой черты последнего элемента. Неважно, какой тег я использую что-либо с косой чертой, не будет работать после '', но теперь я просто щелкнув любую ссылку,' 'не появится, но все остальное. – Greg

+0

Я понял. Мне пришлось немного изменить код. Я сделал это 'if ($ (" # TextToSave "). Text() ==" введите текст здесь ... ") { $ (" # TextToSave "). Text ($ (this) .html() + ''); } else { $ ("# TextToSave"). Text ($ ("# TextToSave"). Text() + $ (this) .html() + ''); } 'Спасибо за вашу помощь. – Greg

Смежные вопросы