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 BrunoMs
      Fala rapaziada, tudo joia?
      Gostaria saber de acordo com a experiência de vocês, como faço pra fazer uma "mask" do tipo preço semelhante ao do pagseguro por exemplo?
      Conforme vamos colocando o preço a input vai formatando o preço em tempo real dentro da input, exemplo:
      49.99
      499.99
      1499.99
       
      Desde já agradeço a orientação pessoal, abração e fiquem com Deus.
    • Por EmersonReinecke
      Bom dia
       
      Estou aprendendo javascript e preciso validar campos de um formulario em javascript.
      Alguem poderia me mostrar como criar id e explicar como funciona,se puder me mostrar um exemplo no meu campo.
       
      <!DOCTYPE html>
      <html>
      <head>
      <link rel="stylesheet" type="text/css"
      href="estilo.css" />
      <meta charset="UTF-8"/>
      <title>Pratica sobre Html Parte-3</title>
      <body class=body >
      <div class=form align="center"><h1>Formulário</h1></div>
      <div class=nome align="center"><p><b>Nome:</b><br></div>
      <div align="center"><input type=text name="nome" size="45"></p><br></div>
      <div class=email align="center"><p><b>Email:</b><br></div>
      <div align="center"><input type=text name="email" size="45"></p><br></div>
      <div class=assunto align="center"><p><b>Assunto:</b><br></div>
      <div align="center"><input type=text name="assunto" size="45"></p><br></div>
      <div class=mensagem align="center"><p><b>Mensagem:</b><br></div>
      <div align="center"><textarea name="Mensagem" rows="10" cols="50" wrap="virtual"></textarea></p><br></div>
      <div align="center"><p><input type="submit" value="Enviar Email"> <input type="reset" value="Limpar Formulário"></p></div>
      </body>
      </html>
    • Por BarryAllen
      Estou utilizando esse codigo:
      <?php include '../config/config.php'; if($_POST['type'] == 'load_url') { $id = (int) $_POST['id']; $sql = mysql_query("SELECT * FROM players WHERE id='$id'"); $item = mysql_fetch_array($sql); $dados['link'] = $item['link']; echo json_encode($dados); exit; } $id = (int) $_GET['id']; $sql = mysql_query("SELECT * FROM players WHERE id='$id'"); $item = mysql_fetch_array($sql); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CinePopHD | Player</title> <script src="https://www.cinepophd.com/media/bower_components/angular/angular.js"></script> <script src="https://www.cinepophd.com/media/bower_components/angular-translate/angular-translate.js"></script> <script src="https://www.cinepophd.com/media/bower_components/jquery/dist/jquery.js"></script> <script src="https://www.cinepophd.com/media/bower_components/jquery-mousewheel/jquery.mousewheel.js"></script> <script src="https://www.cinepophd.com/media/bower_components/mousetrap/mousetrap.js"></script> <script src="https://www.cinepophd.com/media/bower_components/angular-local-storage/dist/angular-local-storage.js"></script> <script src="https://www.cinepophd.com/media/bower_components/angularjs-slider/dist/rzslider.min.js"></script> <script src="https://www.cinepophd.com/media/bower_components/streama-i18n/dist/streama-i18n.min.js"></script> <script src="https://www.cinepophd.com/media/dist/streama-video-player.js"></script> <link rel="stylesheet" href="https://www.cinepophd.com/media/bower_components/Ionicons/css/ionicons.css"> <link rel="stylesheet" href="https://www.cinepophd.com/media/bower_components/angularjs-slider/dist/rzslider.css"> <link rel="stylesheet" href="https://www.cinepophd.com/media/dist/streama-video-player.css"> <style> body{ background: black; } </style> </head> <body oncontextmenu="return false"> <body ng-app="myModule"> <streama-video-player options="$root.videoOptions"> </streama-video-player> <script type="text/javascript"> angular.module('myModule', ['streama.videoPlayer']).run(function ($rootScope) { $rootScope.videoOptions = { videoSrc: '', isExternalLink: true, videoMetaTitle: 'Jovens Titãs', videoMetaSubtitle: 'O Contrato de Judas', videoMetaDescription: 'O filme não deve adaptar literalmente o arco The Judas Contract, mas apenas se inspirar na história, onde os Titãs enfrentam a traição da personagem Terra, que se une ao Exterminador para acabar com a equipe. Jay Oliva, também de Liga da Justiça Sombria, dirige e não há data de lançamento.', showNextButton: false, episodeList: { 1: [ {id: 1, name: 'Temporada 1: Ep.1 "Piloto"', season_number: 1, episode_number:1, episodeString: 'Temporada 1: Ep.1', overview: 'Barry acorda do coma e usa sua nova e extraordinária velocidade para combater outro meta-humano que usa poderes meteorológicos para assaltar bancos.'}, {id: 2, name: 'Temporada 1: Ep.2 "O Homem Mais Rápido do Mundo', season_number: 1, episode_number:2, episodeString: 'Temporada 1: Ep.1', overview: 'Barry enfrenta diversos assassinos que invadem a premiação onde ele acompanha Iris, mas os efeitos colaterais de seus novos superpoderes representam uma ameaça.'} ] }, showEpisodeBrowser: false, currentEpisode : { episode: 1, season: 1 }, } }); </script> </body> </html> Mas não sei como adptar o $dados['link'] = $item['link']; Ali em videoSrc: ' ' tem o url do video em mp4 dentro da Tabela: "players" na coluna link mas não sei passar ela pro JS
      Alguém pode fazer o code Pronto para min por favor?
    • Por lucascuri1
      Tenho o seguinte código:
      <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> </head> <body> <h1>Teatro</h1> <hr> <p>Poltrona:<input id="poltrona"> <button type="button" onclick="reservarPoltrona()">Reservar</button> </p> <hr> <div id="mapa" style="font-family: 'Courier New'; font-size: 10px"> <h3>Mapa do Teatro</h3> </div> <p>Legenda: </p> <h4> <img src="banco.jpg" style="width: 25px; height: 35px">Poltrona Disponível <img src="banco2.jpg" style="width: 25px; height: 35px">Poltrona Reservada </h4> <script> var aReserva = []; montarMapa(); function montarMapa() { for (i = 1; i <= 300; i++) { var sp = document.createElement("span"); var zeros = ""; if (i<10) { zeros = "00"; } else if (i<100) { zeros = "0"; } var num = document.createTextNode("["+zeros+i+"]"); if (i % 20 == 11) { sp.style.marginLeft = "100px"; } else { sp.style.marginLeft = "5px"; } sp.appendChild(num); document.getElementById("mapa").appendChild(sp); var banco = document.createElement("img"); banco.src = "banco.jpg"; document.getElementById("mapa").appendChild(banco); banco.style.width = "35px"; banco.style.height = "40px"; banco.id = "banco" + i; if (i % 20 == 0) { var br = document.createElement("br"); document.getElementById("mapa").appendChild(br); } } } function reservarPoltrona() { var poltrona = document.getElementById("poltrona").value; aReserva.push(poltrona); if (poltrona == "" || isNaN(poltrona)) { alert("Informe os dados da reserva corretamente"); } else { } } </script> </body> </html> E tenho 3 tarefas:
      - Armazenar as reservas de poltrona no vetor aReserva;
      - Trocar a imagem da poltrona reservada (banco2.jpg) - aqui poderia ser qualquer imagem de poltrona, apenas para fazer a distinção das poltronas livres para as reservadas);
      - Impedir a reserva de poltronas ocupadas.
       
      Estou quebrando a cabeça para tentar resolver isso, e apesar de ser simples, não consigo. Estou recém começando a aprender sobre a DOM e ainda não domino nem 10% desses elementos, se pudessem ao menos me dar uma luz, eu ficaria muito grato.


    • Por KarolinePaixao
      Preciso que a cada vez que clica no botao "cadastrar lorem "  incrementa mais '1'  no no href "Em andamento" na class "badge",ou seja a cada vez a eu clicar no botao acrescentar +1 em outro"botao"
      segue codigo:
       
      <ul class="nav nav-pills nav-stacked ">
           <li class="active"><a href="#section1 " class="andamento">EM ANDAMENTO<spam class ="badge" >0</spam>      </a> </li>
           <br>
           <li><a href="#section2" class="atrasada" >ATRASADAS<spam class ="badge" >1</spam></a></li> 
           </ul><br>
            
            <div class="input-group">
            <span class="input-group-btn">
            <span class="glyphicon glyphicon-search"></span>
            </button>
            </span>
            </div>
            </div>
            <div class="col-sm-9 comeco " >
            <hr >
            <div class"texto titulo ">Em andamento <button type="button" class="btn btn-primary bot" class"buttom-center">Cadastrar lorem</button>
            <hr >
            </div>