Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Слетает обработчик после AJAX (https://javascript.ru/forum/dom-window/57210-sletaet-obrabotchik-posle-ajax.html)

S.E.K.T.O.R. 25.07.2015 00:57

devote
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Title Here</title>
</head>

<body>
	
<table width="100%" cellspacing="0" cellpadding="0" align="center">
<tr>
	<td>
		<div id="AjaxResponse">
			Bla-Bla
			<span id="myid">
				<input type="text" name="input1">
			</span>
			<input type="button" name="button1" value="Send" onclick="SendAjax()">
		</div>
		
		<script type="text/javascript">
		<!--
		(function() {
			document.getElementById("myid").style.display = "none";
		})();
		
		function SendAjax() {
			document.getElementById("AjaxResponse").innerHTML = 'Bla-Bla <span id="myid"><input type="text" name="input1"></span><input type="button" name="button1" value="Send" onclick="SendAjax()">';
			return false;
		}
		// -->
		</script>
	</td>
</tr>
</table>

</body>
</html>

Упрощенно, но смысл тот же. После того, как данные полученные аяксом обновят все, что внутри дива, спан становится видимым, а нужно что бы оставался display = "none". В скрипт аякса я не могу вмешиваться, это часть движка.

devote 25.07.2015 01:20

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Title Here</title>
<style>
  #AjaxResponse.span-hide #myid {
    display: none;
  }
</style>
</head>
 
<body>
     
<table width="100%" cellspacing="0" cellpadding="0" align="center">
<tr>
    <td>
        <div id="AjaxResponse">
            Bla-Bla
            <span id="myid">
                <input type="text" name="input1">
            </span>
            <input type="button" name="button1" value="Send" onclick="SendAjax()">
        </div>
         
        <script type="text/javascript">
        (function() {
            document.getElementById("AjaxResponse").className = "span-hide";
        })();
         
        function SendAjax() {
            document.getElementById("AjaxResponse").innerHTML = 'Bla-Bla2 <span id="myid"><input type="text" name="input1"></span><input type="button" name="button1" value="Send" onclick="SendAjax()">';
            return false;
        }
        </script>
    </td>
</tr>
</table>
 
</body>
</html>

S.E.K.T.O.R. 25.07.2015 02:57

devote, огромное спасибо, то, что нужно :thanks:


Часовой пояс GMT +3, время: 10:30.