Как предотвратить вывод стилей HTML-формы? - PullRequest
0 голосов
/ 05 сентября 2018

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

Как я могу предотвратить стилизацию кода в моем #results div?

Вот снимок экрана, показывающий, что выходные данные элементов texarea выровнены неправильно и неправильно отформатированы. Все, начиная с заголовка «ФАЙЛ» и заканчивая «ТЕГИ», отображается и правильно отформатировано.

Here is a screenshot showing the output of texarea elements being mis-aligned, and mis-formatted.

У меня возникли проблемы с поиском подходящего длинного термина для Google, поэтому я обращаюсь к сообществу Stack Overflow за помощью. Возможно, кто-то может сказать мне , что правильный термин для этого вида

output produced from self-submitting form

Мой код:

submit.onclick = function() {
    // build html output
    
    document.querySelectorAll('input, textarea').value = "";
    
    var out = "";
    //var form = document.querySelector('form');
    
    var outPartsArr = [];

    /* GATHER FORM VALUES */
    
    var filename = document.querySelector('#filename').value;
    var dateCreated = document.querySelector('#date-created').value;
    var dateModified = document.querySelector('#date-modified').value;
    var postURL = document.querySelector('#post-url').value;
    var postTitle = document.querySelector('#post-title').value;
    var postTags = document.querySelector('#post-tags').value;
    var postContent = document.querySelector('#post-content').value;
  
    /* GET TIME */
    // from: https://www.codexworld.com/how-to/get-current-date-time-using-javascript/
    var today = new Date();
    var yy = today.getFullYear().toString().substr(-2);
    var mm = today.getMonth()+1;
    var dd = today.getDate() < 10 ? "0" + today.getDate() : today.getDate() ;
    
    var date = mm + "/" + dd + "/" + yy;
    
    var hh = today.getHours() > 12 ? today.getHours() - 12 : today.getHours();
    var mm = today.getMinutes();
    
    var time = hh + ":" + mm;
       
    
    /* BUILD OUTPUT */
    
    var filenameOut = "FILE: " + filename + "
"; var dateCreatedOut = "DATE CREATED: " + dateCreated + "
"; var dateModifiedOut = "DATE MODIFIED: " + dateModified + "
"; var postURLOut = "URL: " + postURL + "
"; var postTitleOut = "TITLE: " + postTitle + "
"; var postTagsOut = "TAGS: " + postTags + "
"; var postContentOut = "CONTENT: " + "" + postContent + "

"; // Добавить каждый фрагмент HTML-строки в массив outPartsArr.push (filenameOut, dateCreatedOut, dateModifiedOut, postURLOut, postTitleOut, postTagsOut, postContentOut); console.log ("% c postContent", "background: orange"); console.log (PostContent); out + = "
  • теги // при построении строки outPartsArr.forEach (function (part, i) { out + = "\ t
  • " + part + "
"; console.log ("% c out", "background: orange"); console.log (уходит); // отображаем в div результатов document.querySelector ('# results'). innerHTML = out; // #GOTCHA -> Без этого оператора возврата выводится на миллисекунду // тогда форма обновляется. вернуть ложь; };
* {
    box-sizing: border-box;
}

body {
    width: 100%;
}

#wrapper {
    max-width: 1024px;
    width: 80%;
    border: solid gray 1px;
    margin: 2em auto;
    padding: 1.2em
}

form {
    border: solid red 2px;
    background: aliceblue;
    margin-bottom: 1.5em;
    padding: .6em;
}

form label {
    margin-right: 0;
    padding-right: 0;
    width: 200px;
    float: left;
    font-family: Arial, Tahoma, sans-serif;
    font-weight: bold;
    
}

form input {
    padding: .4em .6em;
    margin-bottom: .4em;
    width: 80%;
}

form input[type="submit"] {
    background: green;
    color: white;
    margin-top: 1em;
    width: 6em;
    border-radius: .3em;
    margin-left: 0;
}

textarea {
    width: 80%;
    height: 10em;
    /*resize: both;*/
    border-radius: 5px;
    border: 1px solid #ccc;
    box-shadow: 1px 1px 1px #999;    
}

/* OUTPUT */

#results {
    padding: 2em .6em;
    background: #ffffb3;
    border: solid brown 1px;
}

#results h3 {
    font-family: Arial, Tahoma, sans-serif;
    color: brown;
}

.line-title {
    font-weight: bold;
    float: left;
    width: 10em;
    color: brown;
    font-family: Arial, Tahoma, sans-serif;
    line-height: 1.2em;
}

.row-lines li {
    line-height: 2em;
    list-style: none;
}
<div id="wrapper">

<header class="content">

<h1>Eric Hepperle's Stack Overflow Post Builder (2018)</h1>

<p>Some header tag line or other introductory text.</p>

</header>

<main>

<form id="stack-post-builder" method="GET" action="#">

    <label for="filename">FILE:</label>
    <input type="text" id="filename" name="filename" value="" ><br>
    
    <label for="date-created">DATE CREATED:</label>
    <input type="text" id="date-created" name="date-created" value=""><br>
    
    <label for="date-modified">DATE MODIFIED:</label>
    <input type="text" id="date-modified" name="date-modified" value=""><br>

    <label for="post-url">URL:</label>
    <input type="text" id="post-url" name="post-url" value="" ><br>

    <label for="post-title">TITLE:</label>
    <input type="text" id="post-title" name="post-title" value="" ><br>
        
    <label for="post-tags">TAGS:</label>
    <textarea id="post-tags" name="post-tags" placeholder="Enter post tags"></textarea><br>
        
    <label for="post-content">CONTENT:</label>
    <textarea id="post-content" name="post-content" placeholder="Enter post tags"></textarea><br>
    
    
    <!-- <input type="submit" id="stack-post-builder-submit" name="stack-post-builder-submit" value="Submit"> -->
    <input type="submit" id="submit" name="submit" value="Submit">
    
    

</form>

<section id="results">Results will show up here.</section>

</main>

</div><!-- END wrapper div -->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...