10/10/2018, 13:35

[HELP] Get value của Textbox sau khi form được Submit bằng cách click vào 1 link nhưng ko dùng JS

- Như vầy nè , em có cái TextBox :

<input type="text" name="txt1" value="<?php echo $_POST['txt1'];?>" />

- Thì sau khi form được submit với method là POST thì Textbox sẽ có value và ta có thể lấy value của cái Textbox qua biến $_POST['txt1'] .

- Nhưng giờ em có 1 cái thẻ link : <a href="index.php?page=$page">1</a>

- Em muốn khi click vào cái thẻ link thì ta lấy được value mà đã được nhập giá trị vào rồi của cái Textbox ở trên . Vì khi click vào thẻ link thì refresh lại trang thì biến $_POST['txt1'] mất giá trị , mà khi click vào link thì lúc này form lại không được Submit , form phải được Submit thì mới lấy được value của Textbox .

- Ai có cách nào mà sau khi submit form , rồi thì click vào link mà ta lấy được cái value của cái TextBox không chỉ giúp đỡ em với ??????????????????
luuanhquyen viết 15:42 ngày 10/10/2018
nghe như: muốn có em bé nhưng ko muốn lấy vợ vậy.
Để thực hiện 1 yêu cầu nào đấy, có nhiều cách nhưng bạn phải làm theo cách phù hợp nhất, tối ưu nhất. Không thể nói ghét cái này, ghét cái kia được.
ngoc_viet08 viết 15:46 ngày 10/10/2018
yêu cầu code của bạn khá là vớ vẩn. tốt nhứt bạn nên nêu rõ bạn đang làm cái j. chứ tình hình là thấy bạn làm tùm lum , sai mục đích hoặc ko đúng hướng giải quyết
hocphp_2011 viết 15:50 ngày 10/10/2018
anh nên đọc kĩ để thấy rõ nó không vớ vẩn trước khi nói , và để rồi xem anh có thể xử lý được hay không :| .

- Em đang làm cái phân trang khi get dữ liệu từ trang khác , Thì get dữ liệu từ trang khác để phân trang có 2 cách :
+ 1 là get tất cả , đưa vào mảng rồi phân trang
+ 2 là get từng trang , sau đó phân trang

- Thì em làm theo cách thứ 2 , thì em tạo các cái thẻ a và dùng biến dạng GET để khi click vào các trang theo thẻ a thì phân trang . Thì nếu mà làm theo kiểu này :

Code:
<a href="index.php?bien1=$bien1&bien2=$bien2&bien3=$bien3&page=$i">[$i]</a>
- Thì Ok chạy ngon lành nhưng mà trông dài quá , em muốn nó chỉ như thế này thôi :

Code:
$page = $_GET['page']
<a href="index.php?page=$i">[$i]</a>
- Nhưng như thế này thì ta phải có các giá trị của Textbox đã nhập vào và truyền ngược lại biến $page để phân ra trang mới . Vấn đề là đầu tiên nhập vào Textbox , sau đó sumbit form thì lấy được value của Textbox , nhưng ngay sau đó nếu click vào thẻ link a trên kia thì lập tức trang được refresh , thì biến $_GET['page'] có giá trị nhưng các value của Textbox thì mất giá trị và thế là ko phân trang được

- Thì cái điều mong muốn của em là đầu tiên nhập vào các Textbox , sau đó click vào nút bấm submit thì form được submit . Ngay sau đó clic click vào link dạng GET và trông ngắn thế này :

<a href="index.php?page=$i">[$i]</a>

- Thì form lại được submit và GET các value của Textbox và lấy được giá trị của biến $page = $_GET['page'] rồi phân trang . Đó đố anh làm được , ko dễ đâu mà kêu là vớ vẩn

- Nếu ko dùng dạng GET thì có thể dùng dạng POST như thế này với javascript :

Code:
 <a href="#" onclick="changePage($i)">[$i]</a>
<script type="text/javascript">
function changePage(page){
    document.getElementById('page').value=page;
    document.formSubmit.submit();
    return false;
}
</script>
- Thì nếu dùng như vậy thì Ok form được submit nhưng cái link nó lại có dạng href=# , mà đó ko phải điều em mong muốn , em muốn nó phải : index.php?page=$page

- Em đã thử như thế này nhưng không hề được :

Code:
<a href="index.php?page=$i" onclick="document.myform.submit(); return false">[$i]</a>
- Đó anh là chuyên gia , làm thử coi xem có vớ vẩn ko ) . Em chả thấy em làm sai chỗ nào , mà chỉ thấy anh nói sai
sonnb viết 15:49 ngày 10/10/2018
Bạn không thể thay đổi URL trên address bar mà không refresh page. Đây là một điều không thể thay đổi.
bvnguyen viết 15:37 ngày 10/10/2018
nhìn nick của bạn cũng hay đấy, theo mình bạn nên tìm cách diễn đạt dễ hiểu hơn.
Đọc cái dài lằng nhằng trên kia của bạn thì mình đoán là bạn muốn thay vì truyền biến qua GET thì bạn muốn cho nó vào input text để cho đỡ hiện trên address bar phải không?


Nếu đúng yêu cầu là như thế thì gợi ý cho bạn. Code dưới đây:

<form action="index.php?page=2" method="POST">
<input type="text" name="txt1" value="<?php echo $_POST['txt1'];?>" />

<input type="submit" name="submit" value="2" />
</form>

sẽ dẫn bạn đến trang index.php?page=2 mà vẫn lấy được các giá trị text input, thêm css để chỉnh cái nút submit giống với thẻ a là được.

Còn lại bạn tự nghĩ thêm
bvnguyen viết 15:49 ngày 10/10/2018
làm luôn cho bạn nè


<?php
if (isset($_POST['find_name']))
$find_name = $_POST['find_name'];
else
$find_name = '';
?>
<html>
<head>
<script language="javascript">
function next_page(page)
{
document.myform.action = 'ddth.php?page=' + page;
document.myform.submit();
return false;
}
</script>
</head>
<body>

<form name="myform" method="POST" action="">
<input type="text" name="find_name" value="<?php echo $find_name ?>" />

<a href="#" onclick="javascript: next_page(2)">2</a>
<a href="#" onclick="javascript: next_page(3)">3</a>
<a href="#" onclick="javascript: next_page(4)">4</a>
<a href="#" onclick="javascript: next_page(5)">5</a>
<a href="#" onclick="javascript: next_page(6)">6</a>
</form>

</body>
</html>



- Lưu lại với tên là ddth.php
- Gõ cái gì đó vào text box, chuyển trang vô tư, đưa ý tưởng cho bạn mà ko tự nghĩ
- Có gì pm nick khocnhe360
hocphp_2011 viết 15:52 ngày 10/10/2018
Anh đúng là ..... , em đã nói là anh đọc thật kĩ bài em mà anh chưa đọc kĩ , làm như thế này thì dễ ợt có gì để mà nói :

<a href="#" onclick="javascript: next_page(2)">2</a>
<a href="#" onclick="javascript: next_page(3)">3</a>
<a href="#" onclick="javascript: next_page(4)">4</a>
<a href="#" onclick="javascript: next_page(5)">5</a>
<a href="#" onclick="javascript: next_page(6)">6</a>

- Ý em muốn là thẻ link phải có dạng như thế này cơ :

<a href="index.php?page=$page" onclick="next_page(2)">2</a>

- Đó chứ như thế kia thì em còn hỏi làm gì , làm như anh thì em đã làm xong từ lâu rồi , anh cứ đọc kĩ những bài em đã viết thì mới thấy nó khó
bvnguyen viết 15:46 ngày 10/10/2018
Bạn này thật là ....

Được gửi bởi hocphp_2011
Anh đúng là ..... , em đã nói là anh đọc thật kĩ bài em mà anh chưa đọc kĩ , làm như thế này thì dễ ợt có gì để mà nói :

Đó chứ như thế kia thì em còn hỏi làm gì , làm như anh thì em đã làm xong từ lâu rồi , anh cứ đọc kĩ những bài em đã viết thì mới thấy nó khó
- Thứ nhất, không phải mình đọc không kỹ, mà là bạn diễn đạt có vấn đề, bởi nếu mà bạn diễn đạt tốt thì các mem của ddth này đều hiểu bạn nói gì rồi.
- Thứ 2 bạn đang hỏi hay là đang đánh đố người khác?

cứ muốn link đến index.php?page=$page cũng được

<a href="index.php?page=$page" onclick="javascript: return next_page(2)">2</a>

- cứ link đến trang bạn muốn, thêm return ở đằng trước next_page, cũng vậy thôi bởi function next_page đã return false rồi.

PS: vẫn còn cách khác là bạn sử dụng session
sonnb viết 15:48 ngày 10/10/2018
Cơ bản là không hiểu bạn ý cần gì luôn
Bài liên quan
0