자바스크립트에서 IsPostBack을 확인하려면 어떻게 해야 합니까?
Load()에서 JavaScript 기능을 실행해야 하지만 페이지가 처음 로드된 경우에만 실행합니다(즉, 포스트백의 결과가 아님).
기본적으로 자바스크립트에서 IsPostBack을 확인해야 합니다.
감사해요.
서버 측, 쓰기:
if(IsPostBack)
{
// NOTE: the following uses an overload of RegisterClientScriptBlock()
// that will surround our string with the needed script tags
ClientScript.RegisterClientScriptBlock(GetType(), "IsPostBack", "var isPostBack = true;", true);
}
그런 다음 onLoad에 대해 실행되는 스크립트에서 해당 변수가 있는지 확인합니다.
if(isPostBack) {
// do your thing
}
조나단의 솔루션처럼 변수를 따로 설정할 필요가 없습니다."isPostBack" 변수가 정의되지 않으므로 클라이언트 측 if 문은 잘 작동합니다. 이 변수는 if 문에서 false로 평가됩니다.
뒤에 있는 코드에 아무것도 쓰지 않는 훨씬 더 쉬운 방법이 있습니다: javascript에 이 행을 추가하기만 하면 됩니다.
if(<%=(Not Page.IsPostBack).ToString().ToLower()%>){//Your JavaScript goodies here}
또는
if(<%=(Page.IsPostBack).ToString().ToLower()%>){//Your JavaScript goodies here}
안녕하세요 다음에...
function pageLoad (sender, args) {
alert (args._isPartialLoad);
}
결과는 부울 값입니다.
솔루션은 저에게 효과가 없었습니다. 이를 조정해야 했습니다.
protected void Page_Load(object sender, EventArgs e)
{
string script;
if (IsPostBack)
{
script = "var isPostBack = true;";
}
else
{
script = "var isPostBack = false;";
}
Page.ClientScript.RegisterStartupScript(GetType(), "IsPostBack", script, true);
}
이게 도움이 되길 바랍니다.
페이지에 숨겨진 입력을 넣고 페이지가 로드된 후 값을 지정할 수 있습니다.그런 다음 해당 필드를 확인할 수 있습니다. 포스트 데이터에 있으면 포스트백이고 그렇지 않으면 그렇지 않습니다.
ASP(Server Side Code)를 사용한 솔루션은 두 가지였습니다.NET 고유)가 응답으로 게시되었습니다.이 솔루션은 모든 주요 브라우저에서 사용할 수 있는 클라이언트 측 기능만 사용하기 때문에 기술에 구애받지 않는다는 점을 지적할 가치가 있다고 생각합니다.
이것을 시도해 보세요, 이 JS에서 우리는 그것이 포스트백인지 아닌지 확인할 수 있고 그에 따라 각각의 루프에서 작업을 수행할 수 있습니다.
window.onload = isPostBack;
function isPostBack() {
if (!document.getElementById('clientSideIsPostBack')) {
return false;
}
if (document.getElementById('clientSideIsPostBack').value == 'Y') {
***// DO ALL POST BACK RELATED WORK HERE***
return true;
}
else {
***// DO ALL INITIAL LOAD RELATED WORK HERE***
return false;
}
}
값이 0인 숨겨진 텍스트 상자를 만들 수 있습니다.숨겨진 텍스트 상자 값이 0인지 확인하는 if 블록에 onLoad() 코드를 넣으십시오. 코드가 실행되면 텍스트 상자 값을 1로 설정합니다.
여기에는 많은 옵션이 있습니다.
순수한 JS 솔루션의 경우, 페이지를 자체적으로 제출하게 하되, 추가 URL 매개 변수(mypage.slot?postback=true)를 사용하여 window.location과 함께 페이지 URL을 얻을 수 있습니다.href를 입력하고 분할 또는 정규식을 사용하여 변수를 찾습니다.
페이지를 처리하기 위해 일종의 스크립트 언어(php/perl/asp/cf et al.)로 다시 보낸다고 가정할 때 훨씬 쉬운 것은 변수를 설정하는 페이지에서 자바스크립트 행을 반향시키는 것입니다.
<html>
<?php
if ($_POST['myVar']) {
//postback
echo '<script>var postingBack = true;</script>';
//Do other processing
} else {
echo '<script>var postingBack = false;</script>'
} ?>
<script>
function myLoader() {
if (postingBack == false) {
//Do stuff
}
}
<body onLoad="myLoader():"> ...
한 가지 방법이 있습니다(Page_Load에 입력).
if (this.IsPostBack)
{
Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>var isPostBack = true;</script>");
}
그럼 JS에서 변수를 확인해 보세요.
에서 전역 변수를 생성하고 값을 적용합니다.
<script>
var isPostBack = <%=Convert.ToString(Page.IsPostBack).ToLower()%>;
</script>
그러면 다른 곳에서 참조할 수 있습니다.
언급URL : https://stackoverflow.com/questions/59719/how-can-i-check-for-ispostback-in-javascript
'programing' 카테고리의 다른 글
RStudio를 사용하여 MariaDB 원격 서버에 연결 (0) | 2023.09.04 |
---|---|
선택한 라디오 버튼의 레이블에 대한 CSS 선택기 (0) | 2023.08.30 |
하위 구성 요소에서 상위 구성 요소로 데이터를 전달하는 방법 각도 (0) | 2023.08.30 |
mariadb가 많은 요청 후 응답하지 않습니다. (0) | 2023.08.30 |
동일한 요소에 대해 여러 개의 유사 요소를 가질 수 있습니까? (0) | 2023.08.30 |