亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以顯示帶有 url 的 div?

是否可以顯示帶有 url 的 div?

PHP
慕工程0101907 2021-11-26 16:25:56
我使用一些js將注冊表單創建為整個網站上方的隱藏div?,F在,我想在不同的文件中創建 php 部分。我有3個文件。html,div 在哪里,表單。js文件,隱藏和顯示狀態之間的切換在哪里,它是通過一個按鈕調用的。3.一個是php,if-s(空字段,錯誤數據等),mysql的東西在哪里。如果用戶犯了錯誤,我想發送回主 html 文件,表單在哪里,url 中包含給定的數據,所以我可以說是什么問題。但是如果我這樣做,注冊表將被關閉,因為它又是一個 display:none。在我發回用戶后,如何從 php 再次設置 div 的顯示?對不起,如果它很復雜......我嘗試在php中調用js函數,在我用header函數發回后,但沒有奏效。HTML div:<div id="reg-Page"> <!-- Form, and others --></div>調用div:<button type="button" name="button" onclick="return regForm()">Signup</button>js函數: function regForm() {  var logWindow = document.getElementById('reg-Page');  if (logWindow.style.display != 'block') {    logWindow.style.display = 'block';  } else {    logWindow.style.display = 'none';  }}PHP文件: if (empty($username) || empty($password) || empty($password2) || empty($email)) {    ?>      <script src="js/scripts.js" type="text/javascript">        return regForm()      </script>    <?php    header("Location: ../index.php?error=emptyfields&uid=".$username."&mail=".$email);    exit();  }在發回后,我嘗試再次將 div 顯示設置為阻止。
查看完整描述

3 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

是否可以顯示帶有 url 的 div?


我在上面添加了您的標題,因為我可以幫助您解決這個問題,但我并沒有真正理解您的其余問題是什么。您能否通過使您的問題更準確來進一步幫助我們?


:target在 CSS 中使用偽元素選擇器。通過這種方式,您可以偵聽散列或#在 URL 中并選擇id與散列匹配的元素。


如果可能的話,使用類來隱藏或顯示元素以將 HTML 與 CSS 分開。


所以添加指定元素狀態的CSS(默認、目標和隱藏)。在您的JS 中切換到更改類而不是內聯樣式屬性。如果你這樣做,你就會錯過一些最好的 CSS 特性。


在您的PHP 中,只需添加一個#帶有要顯示到重定向 URL 的元素的 ID。在你的情況下#reg-Page。


HTML


<div id="reg-Page">

 <!-- Form, and others -->

</div>

CSS


#reg-Page {

  display: none;

}


#reg-Page:target {

  display: block;

  /* Set your properties here */

}


.hidden {

  display: none;

}

JS


function regForm() {

  var logWindow = document.getElementById('reg-Page');

  if (!logWindow.classList.contains('hidden')) {

    logWindow.classList.add('hidden') 

   } else {

    logWindow.classList.remove('hidden')

  }

}

PHP


<?php

// Add the ID of the div with add # before it at the end of the page.

header("Location: ../index.php/?error=emptyfields&uid=".$username."&mail=".$email.'#reg-Page');

?>

讓我知道我是否正確理解了您的問題以及這是否有幫助。


查看完整回答
反對 回復 2021-11-26
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

在index.php您可以檢查是否一個錯誤信息被設置到URL并使用該信息以輸出比特JS的觸發功能,使形成時,頁面已準備就緒:


<?php if (isset($_GET['error'])): ?>

    <script type="text/javascript">

        window.addEventListener("load", regForm);

    </script>

<?php endif; ?>


查看完整回答
反對 回復 2021-11-26
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

我嘗試在php中調用js函數,在我用header函數發回后,但沒有奏效。


這最像一個競爭條件。您的服務器正在發送一個 html 文件,其中包含一個 script 標簽和一個 div 標簽,但哪個首先加載,以及在腳本運行時可以訪問 DOM 的哪些部分,使用此方法不清楚。至少你應該這樣做:


    ?>

      <script src="js/scripts.js" type="text/javascript">

        $(regForm);

      </script>

    <?php

假設您有 jQuery,使用$(document).ready() 速記。這里的想法是該函數在 DOM 完成之前不會運行(即瀏覽器已解析到文檔的末尾),然后您的腳本有機會找到它想要取消隱藏的 div。


但是,僅供參考,這是一種過時的做事方式。您應該了解有關客戶端/服務器編程的更多信息(一些評論者提供了有關此的鏈接)。我會將系統構建得更像一個單頁應用程序,其中服務器有一個 API,客戶端可以根據表單發送 xhr 請求,并根據服務器的響應采取行動。這對于您描述的 php/mysql 堆棧是完全可能的。


查看完整回答
反對 回復 2021-11-26
  • 3 回答
  • 0 關注
  • 268 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號