เมนู

แสดงโพสต์

ส่วนนี้ให้คุณดูโพสต์ทั้งหมดของสมาชิกท่านนี้ (เฉพาะโพสต์ในส่วนที่คุณมีสิทธิ์เข้าถึง)

เมนู แสดงโพสต์

ข้อความ - playinw

#1
ว่างๆพอดี ผมเขียนให้ดูเป็นตัวอย่างละกันนะครับ

http://demo.dig.in.th/fine.htm

ตัวอย่างนี้ผมเขียนพอเป็นแนวทางให้ศึกษา หากนำไปใช้จริงควรเพิ่มเติมอีกหน่อย
เช่น ซูมเข้าได้ไม่เกิน เท่าไร ซูมออกได้ไม่เกินเท่าไรเพื่อความสวยงาม
มิเช่นนั้น คนดูเขาอาจกดซูมเข้าออกเล่นสนุกสนานจนลืมดูเนื้อหาของเว็บคุณไปเลยก็ได้   :P :-X
ู^.^

สำหรับโค้ดนี้ พอกดปุ่มบวก ปุ่มลบ ก็จะซูมเข้า - ออก
(ปุ่มบวก-ลบ บน NUMPAD ของ PC นะครับโน๊ตบุ๊คจะใช้ไม่ได้เพราะไม่มี numpad)

ผมว่าเปลี่ยนปุ่มด้วยก็ดี ใช้ปุ่มที่มีทั้ง notebook และ pc จะดีที่สุดครับ

ปล. อันนี้ใช้ได้เฉพาะ ie ครับ เอาไปแก้เเอาถ้าจะใช้กับ browser อื่นๆ
#2
ล้าสมัยจัง ใช้จอแบบนูน :wanwan021:
เดี๋ยวนี้ต้องจอแบน :wanwan004:
#3
เรียน เจ้าของกระทู้

โค้ดควรจะเป็นอย่างที่คุุณ sleepcat  แนะนำครับจึงจะถูกต้อง

ขออธิบายไว้ให้นะครับว่าทำไมถึงโค้ดถึงออกมาในรูปแบบนี้และคุณใช้ไม่ได้
จะได้เก็บไว้ใช้ได้ในคราวหน้าได้ด้วย

onsumit = ถ้าคุณ return false;  มันจะเป็นการปฎิเสธการส่งข้อมูล (ปฎิเสธการ submit)

หาคุณเขียนว่า onsubmit="checkForm(); return false;" มันก็จะทำงานฟังก์ชั่น checkForm(); พอเสร็จแล้ว
ไม่ว่าบัตรถูกหรือผิดก็ return false เพราะว่าตรงนี้ไม่มีเงื่อนไขในการเช็คว่าบัตรถูกไหม แต่เงื่อนไขดังกล่าวมันอยู่ใน checkForm()
ดังนั้นจึงควร return ใน checkForm() เลย

ลองมาพิจารณาดูโค้ดที่คุณให้มากันดูนะครับ

<form id="form1" method="post" action="checkregister.php" onsubmit="checkForm(); return false;"name="form1">
onsubmit="checkForm(); return false;"
แปลเป็นภาษาไทยว่า เรียกฟังก์ชั่นเช็คฟอร์ม พอหลังจากนั้นให้ปฎิเสธการ submit หรือการส่งข้มูลนั่นเอง ทำให้ไม่ว่าบัตรถูกหรือผิดก็ไม่ส่ง

แล้วก็ที่คุณบอกว่าเปลี่ยนเป็น true แล้ว submit ผ่านตลอด
onsubmit="checkForm(); return true;"
แปลได้ว่า เรียกฟังก์ชั่นเช็คฟอร์ม จากนั้นให้ยินยอมส่งข้อมูล

เพราะอะไรจึงเป็เช่นนี้ คำตอบคือเป็นเพราะ
ฟังก์ชั่น checkForm(); มีหน้าที่ตรวจสอบฟอร์ม และ return มีหน้้าที่สั่งการ โดย return true คือยอมส่งข้อมูล และ false คือไม่ยอมส่ง
กล่าวคือ

function checkForm() {
if(!checkID(document.form1.idcard.value)){
alert('รหัส ประชาชนไม่ถูกต้อง');
return false;
}
return ture;
}

แปลว่า

function checkForm() {
ถ้า(รหัสประชาชนไม่ถูกต้อง){
แสดงกล่องข้อความบอกว่าบัตรไม่ถูก
ปฎิเสธการส่งข้อมูล แล้วหยุดอยู่แค่นี้ไม่ต้องทำงานต่อ
}
ยินยอมให้ส่งข้อมูล;
}


#4
ผมก็เป็นอีกคนที่ชอบ W3C เว็บผมทุกหน้าต้องผ่าน W3C หมด [ยกเว้นเฉพาะหน้า แจ้งปิดปรับปรุงเว็บ]
ไม่ใช่เพราะบ้า seo เพราะมันช่วยอะไรไม่ได้มากเท่าไหร่ในด้าน seo

แต่เป็นเพราะผมอยากให้เว็บมีคุณภาพ และแสดงผลเหมือนกันใน ทุก browser
พอจะกล่าวถึง cross browser support ใน code ชุดเดียวแล้ว W3C ช่วยได้มากเลยทีเดียว
แต่มันก็มีบ้างที่ validate ผ่านแล้ว แต่ก็แสดงผลในแต่ละ browser ไม่เหมือนกัน อันนี้ก็มีบ้าง
แต่ถ้าเขียนให้ผ่าน W3C ซะ ปัญหาเหล่านี้ก็จะมีเปอร์เซนต์การเกิดที่น้อยลงไปได้พอสมควรเลยทีเดียว

นอกจากนี้แล้ว อย่างน้อยมันก็ช่วยได้ในเรื่อง การเปิดแท็กแล้วลืมปิด แล้วก็อะไีรอีกหลายๆอย่าง

#5
มันแสดงให้เห็นว่า หลอดไฟของผู้ชายใหญ่กว่า  :-X
#6
แหมๆ ก็ SEO เหมือนกันนี่ครับ
#7
 :P โตแล้วยังเล่นตุ๊กตา อิอิ
#8
อธิบายนะครับสำหรับไว้ใช้ศึกษา

javascript นั้น ถ้า error ตรงไหนมันก็จะ หยุดทำการประมวลผล ตรงนั้นเลยจะไม่ประมวลผลต่อ

code ที่เขาเขียนนี้เป็นการใช้ javascript function ร่วมกับ form  แต่ว่า javascript ที่เขาใช้มัน error ก่อนที่จะถึง form
จึงทำให้ form เรียกใช้ javascript function ไม่ได้ ฉะนั้นจึงเขียน div ขึ้นมาไว้ใส่ฟอร์ม แล้วจากนั้นเอา script ไปไว้ในไฟล์
จากนั้นจึง include (src) เข้ามา แล้วสั่ง init โดย init จะสร้างฟอร์มขึ้นมาภายใน div ที่กำหนด และเนื่องจากมันอยู่เหนือ javascript
ในส่วนที่ error javascript ในการคำนวนนี้มันจึงสามารถทำงานได้นั่นเอง ^.^ กล่าวคือ ลำดับการประมวลผลเปลี่ยนไป แต่ จุดวางฟอร์มยังอยู่
ณ ที่เดิม
#9
ภาษาต่างดาวให้แก้โดยใช้ไฟล์นี้แทนครับ

http://demo.dig.in.th/calculation3.rar

แตกออกมา ได้ไฟล์ calculation.js อัพขึ้นไปทับของเก่าได้เลย หายต่างดาว
#10
อันนี้ id ของ element ก็ผิด :(
ชื่อตัวแปรบางตัวไม่ได้ define แต่กลับเรียกใช้ :'(
Object บางอันไม่มีตัวตน  :-X
แถมอีกอย่างนะครับ ถึงคุณจะแก้ให้ใช้โค้ดนี้ได้ ก็ยังไม่ได้ตัวเลขที่ถูกต้องอยู่ดี

ให้ดูตรงค่าธรรมเนียม 5% คุณต้องเอาไปหารเอาจำนวนของเปอร์เซนมาบวก 5 แต่ในโค้ดคุณเอาไปคูณ 5 เฉยเลย
มันก็จะเท่ากับ ราคารวม คูณด้วยห้้า แล้วคูณด้วยห้า โอ้ว ค่าธรรมเนียมแพงกว่าสินค้าหลายเท่าตัวเลย T-T

ลองโค้ดที่ผมแก้ให้นี่ดูว่าคำนวนออกมาถูกไหม
http://demo.dig.in.th/cala.txt
#11
เห็นแว้บแรกผมนึกว่าไม่ใช่นิ้ว นึกว่าเป็นอย่างอื่น แต่พอดูดีๆ นิ้วโป้งนี่นา ตกใจหมดเลย  :P
#12
ผมเขียนโค้ดเสริมให้อีกนิดแล้ว คราวนี้น่าจะได้แล้วละ

ก่อนอื่นให้ลบโค้ดที่ผมให้ไป (calculation.js) อันเดิมออกจาก sv ก่อน
แล้วเปิดหน้าเว็บของคุณขึ้นมา ลบฟอร์มออก
ฟอร์มดอกเบี้ยน่ะ ลบออกให้หมดเลย ไม่ได้พิมพ์ผิดแน่นอน ลบฟอร์มที่ใช้หรอกข้อมูล (แท็ก <form>) ที่ใช้กรอกข้อมูลดอกเบี้ยอันเนี๊ยะ
เนี่ยๆ ลบหมดเลย


<form>
<table>
<tbody>
<tr>
<td colspan="3"><strong>โปรแกรมคำนวณอัตราดอกเบี้ย </strong></td>
</tr>
<tr>
<td>1)</td>
<td>วงเงินกู้  (บาท) :</td>
<td>
<input name="principal" size="12" type="text" /></td>
</tr>
<tr>

<td>2)</td>
<td>อัตราดอกเบี้ย (%) :</td>
<td>
<input name="interest" size="12" type="text" /></td>
</tr>
<tr>
<td>3)</td>
<td>ระยะเวลากู้ (ปี) :</td>
<td>
<input name="years" size="12" type="text" /></td>
</tr>
<tr>
<td colspan="3">

<input onclick="calculate();" type="button" value="คำนวณอัตราดอกเบี้ย" /></td>
</tr>
<tr>
<td colspan="3"><strong>ข้อมูลการชำระเงิน:</strong></td>
</tr>
<tr>
<td>4)</td>
<td>ยอดชำระรายเดือน (บาท/เดือน) :</td>
<td>
<input name="payment" size="12" type="text" /></td>
</tr>
<tr>
<td>5)</td>

<td>รวมยอดชำระทั้งหมด (บาท) :</td>
<td>
<input name="total" size="12" type="text" /></td>
</tr>
<tr>
<td>6)</td>
<td>รวมดอกเบี้ยที่ต้องจ่าย (บาท) :</td>
<td>
<input name="totalinterest" size="12" type="text" /></td>
</tr>
</tbody>
</table>
</form>


จากนั้นโหลดโค้ดใหม่ที่ผมเขียน อันนี้


http://demo.dig.in.th/calculation2.rar

แตกออกมาจะได้ calculation.js ให้เอาขึ้นไปไว้บนเซิฟเวอร์(ชื่อเหมือนอันเก่าแต่จริงๆแล้วคนละไฟล์นะ)

จากนั้นก็ไปดูตรงแท็ก <form> ที่เราลบไป
ใส่คำสั่งนี้ลงไปแทนแท็ก form ที่เราลบไป

<script type="text/javascript" language="javascript" src="calculation.js"></script>
<div id="ida">-ZONE</div>
<script>init();</script>


เป็นอันใช้ได้
#13
พอดีมัน return ค่ามาเป็น echo ผมนึกว่า return มาเป็นตัวแปร
#14
ท่าทาง javascript มันจะ Error ก่อนที่จะถึงฟอร์มนะครับ
เพราะว่าผมเซฟหน้าเว็บคุณลงมาที่เครื่องผมแล้วลองรันดูปรากฎว่าได้ครับ แสดงว่าเป็นที่มันไปมีปฏิกริยาอะไรบางอย่างกับ script ตัวอื่นก็เป็นได้
(script ที่ src= มาน่ะ)

แล้วไม่ลอง Iframe เอาเหรอครับจะได้ง่ายๆ (อันนี้ตอบด้วยก็ดีครับ)
ถ้าไม่เอาเดี๋ยวผมช่วยดู script ให้อีกที
#15
ไม่เคยใช้ WordPress อ่ะ แต่เดาจาก syntax ที่เห็นนะครับ

สิ่งที่คุณทำคือระบบเลือกภาษา ใช่ไหม ?
และคุณก็ต้องการให้ผู้ใช้เห็นว่าตอนนี้เขากำลังใช้ภาษาอะไรอยู่ โดยแสดงให้ชมเป็นภาพธงชาติ ใช่ไหม

ถ้าใช่ อ่านต่อ

ใช้โค้ดนี้ครับ


<?php if ( function_exists('get_custom_field_value') ){
$val get_custom_field_value('language'true);
 if(isset(
$val)) {
echo 
"<img src=".$val.".gif alt=\"\"/>";
}
?>



หรือจะเอาโค้ดที่สสั้นที่สุดเลยก็ได้แบบนี้

<?php if ( function_exists('get_custom_field_value') ){
echo 
"<img src=".get_custom_field_value('language'true).".gif alt=\"\"/>";
?>



แล้วก็เตรียม ไฟล์ English.gif กับ Thai.gif วางลงไป (ไฟล์ภาพธงชาตินั่นเอง)
น่าจะได้มั้ง ผมไม่เคยใช้ WordPress หรอกแต่เดาเอาด้วยประสบการ์ณ php

อ้อ แท็ก img ใส่ alt ด้วย มันจะได้ validate w3c ผ่าน
#16
อุ๊ยๆ อย่าเพิ่งได้ไหมครับ ผมอยากให้ใช้ได้อ่ะ น่าเสียดายออก ทำแบบนี้สิครับ


นี่เป็นฟังก์ชั่นคำนวน JS ที่ผมแก้ให้แล้ว
http://demo.dig.in.th/calculation.rar

แตกไฟล์ออกมาจะได้ calculation.js ให้อัพลงไปในโฟลเดอร์เดียวกันกับหน้าที่จะใช้
แล้วก็เติมลงไปหน้าเว็บว่า (อันนี้เติมภายใต้แท็ก <head> นะครับ)

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


แล้วก็เอาโค้ด javascript อันเดิมออก ที่เขียนไว้ว่า


<!--<br />
  This is the JavaScript program that makes the example work. Note that<br />
  this script defines the calculate() function called by the event<br />
  handlers in the form.  The function refers to values in the form<br />
  fields using the names defined in the HTML code above.<br />
--><br />
<script language="JavaScript">
function calculate() {
    // Get the user's input from the form. Assume it is all valid.
    // Convert interest from a percentage to a decimal, and convert from
    // an annual rate to a monthly rate. Convert payment period in years
    // to the number of monthly payments.
    var principal = document.loandata.principal.value;
    var interest = document.loandata.interest.value / 100 / 12;
    var payments = document.loandata.years.value * 12;</p>
<p>    // Now compute the monthly payment figure, using esoteric math.
    var x = Math.pow(1   interest, payments);
    var monthly = (principal*x*interest)/(x-1);</p>
<p>    // Check that the result is a finite number. If so, display the results
    if (!isNaN(monthly) &&
        (monthly != Number.POSITIVE_INFINITY) &&
        (monthly != Number.NEGATIVE_INFINITY)) {</p>
<p>        document.loandata.payment.value = round(monthly);
        document.loandata.total.value = round(monthly * payments);
        document.loandata.totalinterest.value =
            round((monthly * payments) - principal);
    }
    // Otherwise, the user's input was probably invalid, so don't
    // display anything.
    else {
        document.loandata.payment.value = "";
        document.loandata.total.value = "";
        document.loandata.totalinterest.value = "";
    }
}</p>
<p>// This simple method rounds a number to two decimal places.
function round(x) {
  return Math.round(x*100)/100;
}
</script>


อันนี้แหละลบออก

ทีนี้ลองกดดูครับ ใช้ได้แน่นอน

เป็นยังไงบอกได้นะครับ จะช่วยจนกว่าจะได้เลยก็ยังได้ครับ ว่างมากๆ

#17
อ๋อ ดูซอร์สโค้ดมาแล้วมันผิดนิดนึงนะครับ

คุณไปทำอย่างไรกันหนอซอร์สโค้ดมันถึงต่างกันได้

คือรหัสของการขึ้นบรรทัดใหม่ ที่ควรจะเป็น \x0D \x0A เหลือเพียง 0A เท่านั้น ... เป็นกับ Editor ที่ใช้หรือเปล่า
อันนั้นช่างมัน มาดูวิธีแก้ดีกว่า

ใช้ EditPlus สิครับแล้วจะเห็นว่า Javascript ที่คุณแทรกลงไปมันอยู่บรรทัดเดียวกันกับ comment script มันเลยไม่ทำงาน
ให้ copy มาวางใหม่ โดยใช้ EditPlus ครับ มันจะใช้งานได้ตามปกติเลย

อันนี้ผมเซฟหน้านั้นของคุณลงมาแก้ดู แก้ไปแล้วเป็นอันใช้ได้
http://f1.uploadfile.biz/file/?i=IDEHMEIEMXWDDD

ยังไม่หายบอกได้นะครับ
#18
Programming / Re: ใครเก่ง php มาทางนี้
15 มิถุนายน 2010, 22:28:57
อาจจะเป็นที่สคริปที่คุณเขียนใช้ GLOBAL Variable แต่
ไม่ได้เซ็ต GLOBAL Variable บน Server เป็น On ใน php หรือเปล่า   :wanwan012:

ไม่แน่ใจครับ ถ้าเห็นข้อความ Error แบบเต็มๆ อาจพอรู้ครับ