Publicidade

marfegte

codigo javascript gerador de lista xml

Patrocínio:

eu tenho um codigo pra gera lista em xml
nao to conseguindo salva o codigo gerado no servidor e deixar ele gravado na tabela no site para editor

https://codepen.io/marfegte/pen/mWXzBG


index.html

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Gerador lista xml</title>
<link rel="stylesheet" type="text/css" media="all" href="generator.css" />
<script src="codigo.js" type="text/javascript"></script>
</head>
<body onload="init()">

		
		<h1><a href="http://playlist-generator.com/"></a>IPTV Gerador Lista xml</h1>
		<noscript><p id="no_javascript">IPTV Gerador Lista xml usado JavaScript</p></noscript>
		<form id="playlistform" action="" onsubmit="return false;">
			<table>
				<thead>
					<tr>
						<th>Titulo</th>
						<th>Link</th>
						<th>Thumbnail</th>
						<th>Fanart</th>
						<th>Info</th>
						
						<th><span class="desc" title="duration (in milliseconds)">Opção</span></th>
					</tr>
				</thead>
				<tbody id="playlist"></tbody>
			</table>
		</form>
		
		<p style="margin-top: 3em;">playlist.xml</p>

		<pre id="playlistcode"></pre>

</body>
</html>

codigo.js

var TYPE_TITLE = 0;
var TYPE_LINK = 1;
var TYPE_THUMBNAIL = 2;
var TYPE_FANART = 3;
var TYPE_INFO = 4;
var COUNT_COLUMNS = 6;

function htmlentities(str) {
	str = str.replace(/&/g, "&amp;");
	str = str.replace(/"/g, "&quot;");
	str = str.replace(/</g, "&lt;");
	str = str.replace(/>/g, "&gt;");
	return str;
}
function nl2br(str) {
	str = str.replace(/\n/g, "<br/>");
	return str;
}
function update() {
	var playlist = document.getElementById("playlist");
	var rows = playlist.getElementsByTagName("tr");	
	var code = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
	code += "  \n";	
	for (var index = 0; index < rows.length; index++) {
		var inputFields = rows[index].getElementsByTagName("input");		
		code += "    <item>\n";		
		for (var j = 0; j < inputFields.length; j++) {			
			var type = "";
			var value = inputFields[j].value;			
			switch (j) {
			case TYPE_TITLE:
				type = "title";
				break;
			case TYPE_LINK:
				type = "link";
				break;
			case TYPE_THUMBNAIL:
				type = "thumbnail";
				break;
			case TYPE_FANART:
				type = "fanart";
				break;
			case TYPE_INFO:
				type = "info";
				break;
			
			}
			
			if (type == "link" || value != "") {
				code += "      <" + type + ">" + htmlentities(value) + "</" + type + ">\n";
			}
			
		}		
		code += "    </item>\n";
		code += "    \n";
	}	
	document.getElementById("playlistcode").innerHTML = nl2br(htmlentities(code));
}

function updateTable() {
	$("#results").html('')
 
	
	var playlist = document.getElementById("playlist");
	var rows = playlist.getElementsByTagName("tr");	
	for (var index = 0; index < rows.length; index++) {
		var row = rows[index];
		var cols = row.getElementsByTagName("td");	
		var content = "<a href=\"#\" title=\"adicionar um novo\" onclick=\"addTrack(" + (index + 1) + "); return false;\">Adicionar</a> <a href=\"#\" title=\"remove this track\" onclick=\"removeTrack(" + index + "); return false;\">Apagar</a>";
		cols[cols.length - 1].innerHTML = content;
	}
}
function addTrack(index) {
	var playlist = document.getElementById("playlist");
	var rows = playlist.getElementsByTagName("tr");	
	var newRow = document.createElement("tr");
	for (var i = 0; i < COUNT_COLUMNS; i++) {
		var newColumn = document.createElement("td");		
		if (i < COUNT_COLUMNS - 1) {
			
			var inputField = document.createElement("input");
			inputField.setAttribute("type", "text");
			inputField.onchange = update;
			inputField.onkeyup = update;
			newColumn.appendChild(inputField);
		} else {			
			newColumn.setAttribute("class", "options");
		}		
		newRow.appendChild(newColumn);
	}
	
	if (index == rows.length) {
		playlist.appendChild(newRow);
	} else {
		playlist.insertBefore(newRow, rows[index]);
	}	
	updateTable();
	update();
}
function removeTrack(index) {
	var playlist = document.getElementById("playlist");
	var rows = playlist.getElementsByTagName("tr");
	
	if (rows.length > 1 && window.confirm("Tem certeza que deseja apagar?")) {
		playlist.removeChild(rows[index]);		
		updateTable();
		update();
	}
}

function init() {
	addTrack(0);
	document.getElementById("playlist").getElementsByTagName("tr")[0].getElementsByTagName("input")[0].value = "";
	update();
}

generator.css

body, td {
	font-family: Verdana, Arial, sans-serif;
	font-size: 10pt;
}

a {
	color: #0000ff;
}

a:hover {
	color: #6666ff;
}

#no_javascript {
	background-color: #cc0000;
	color: #ffffff;
	padding: 0.5em;
	border: 2px dashed #000000;
}

h1 {
	font-size: 150%;
	font-weight: bold;
}

h2 {
	margin-top: 1em;
	font-size: 120%;
	font-weight: bold;
}

table {
	width: 100%;
	margin-top: 1em;
}

th {
	font-size: 100%;
	font-weight: bold;
	text-align: center;
	background-color: #ccccff;
	padding: 0.1em 0.3em 0.1em 0.3em;
	border: 1px solid #aaaaff;
}

td {
	padding: 0;
	text-align: center;
	border: 1px solid #660000;
}

td input {
	width: 100%;
	height: 100%;
	border: 0;
	background-color: #ffffff;
}

td input:hover {
	background-color: #eeeeff;
}

td input:focus {
	background-color: #ddddff;
}

#playlistcode {
	background-color: #ccccff;
	padding: 0.3em;
	border: 1px solid #aaaaff;
	font-size: 10pt;
	font-family: "Courier New",Verdana,sans-serif;
}

.desc {
	border-bottom: 
}

.options {
	white-space: nowrap;
	background-color: #ccccff;
	padding: 0.3em;
	font-weight: bold;
	border: 1px solid #aaaaff;
	font-size: 10pt;
	text-align: center;
	font-family: "Verdana,sans-serif;
	
}

 

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

No console do navegador está dando alguma mensagem de erro?

Ou o erro está no envio para o servidor?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por lucas nc
      Ola, alguem pode me ajudar com um problema? atualmente estva tudo indo bem no meu site, quando de repente eu fui colocar um codigo de publicidade em uma area do meu tema atual, e depois disso as letras e as e os espaços para anuncios não estão se ajustando com a pagina, ta tudo um por cima do outro, na pagina inicial está tudo certo,  mas na pagina do post é que está o problema.
      um ex: eu acabo de fazer uma postagem de um novo video em meu site, ao lado do video tem 3 espaços para ADS abaixo se encontra a descrição do vídeo, só que nada se ajusta em seu determinado lugar, os espaços ads ficam na parte de baixo do video por trás da descrição do video ta uma zona. tonto é que eu até tirei os anuncios na lateral dos video.
       
       
    • Por Tony Junior
      Olá, estou com seguinte problema:
      gostaria de alterar os atributos do select ao clicar em um checkbox usando javascript, exemplo:
       
       <input type="checkbox" name="f" value="titulacao"> Orientadora<br>
       
      <select name="titulacao" >
      <option value="prof >Graduado</option>
        <option value="prof Esp">Especialista</option>
        <option value="prof Me">Mestre</option>
        <option value="prof Dr">Doutor</option>  
      </select>
       
      alterar para
       
      <select>
      <option value="profa >Graduado</option>
        <option value="profa Esp">Especialista</option>
        <option value="profa Ma">Mestre</option>
        <option value="profa Dra">Doutora</option>  
      </select>
       
       
      Desde já grato se alguem puder ajudar.
    • Por Fabricio B. Buckeridge
      Fala galera, estou com uma dúvida em relação a um problema que enfrentei hoje.
       
      Meu problema esta resolvido com a utilização do apostrofe porém queria entender o motivo do problema.
       
      Simulando "bem simples" esse é o erro:
             
      var ateste = 00060467622515; alert('[' + ateste + ']');  
      Porque o valor acima é convertido em [6524183885]
       
      Como mencionei, o problema esta resolvido dentro do meu projeto, mas queria entender o motivo dessa conversão.
       
      Aguardo pra ver se alguém sabe me explicar o motivo do erro.
       
      Abraçosss
    • Por esher
      Olá, pessoal!
       
      Comecei a trabalhar com programação há pouco tempo e sou novo no fórum. Peguei um código que clona um input, porém para remover o input clonado, na primeira vez que clico em remover o botão não faz nada, mas depois do primeiro clique ele funciona normalmente. Como fazer para que o botão remover funcione logo de primeira?
       
      Segue o código:
       
      No <head>:
       
      <script>
          function duplicarCampos() {
              var clone = document.getElementById('origem').cloneNode(true);
              var destino = document.getElementById('destino');
              destino.appendChild(clone);
              var camposClonados = clone.getElementsByTagName('input');
              for (i = 0; i < camposClonados.length; i++) {
                  camposClonados.value = '';
              }
          }
          function removerCampos(id) {
              var node1 = document.getElementById('destino');
              node1.removeChild(node1.childNodes[0]);
          }
      </script>
       
      No <body>:
       
      <form method="post" action="action_obs.php">
          <div class="row">
              <div class="col-md-6">
                  <div id="origem">
                      <input type="text" class="form-control" id="observacao" name="observacao[]" placeholder="Nova observa&ccedil;&atilde;o"><br>
                  </div>
              </div>
          </div>
          <div class="row">
              <div class="col-md-6">
                  <input type="button" class="btn btn-default" value="Adicionar campo" onClick="duplicarCampos();">
                  <input type="button" class="btn btn-default" value="Remover campo" onClick="removerCampos(this);">
                  <input type="hidden" name="id" value="<?php echo $dados[15] ?>">
                  <input type="submit" class="btn btn-success" value="Salvar"><br><br>
              </div>
          </div>
          <div class="row">
              <div class="col-md-6">
                  <div id="destino">
                  </div>
              </div>
          </div>
      </form>
       
      Alguém pode me ajudar com isso? Obrigado.
       
      Rob Niemeyer
    • Por BrunoHSL
      Galera, sou iniciante em programação java/html e preciso da ajuda de vocês, tenho que fazer uma espécie de "orçamento"  na qual criei 3 "input" com, nome do produto, preço e quantidade e preciso passar esses dados que a pessoa digitou para uma tabela, que ficará logo abaixo, ja criei os identificadores, como faço para esses dados ir direto para a tabela ? Tem que ser em Javascript ou HTML, obrigado
       
      Obs: Tabela feita em HTML