2011-01-05 19 views
4

"s.value"をすべて小文字にしてからucwordsにしたいが、それはフォームの中にあるのでどのようにするのか分からない。ucwordsとstrtolowerをこのフォームに追加する方法

基本的に私はこのようなことをしたい:ucwords(strtolower(s.value here));

これは形式です:あなたがやりたい

<form role="search" method="get" id="searchform" action="http://chusmix.com/?s=" onsubmit="if (document.getElementById('s2').value.length > 5) window.location = action + '<php echo $city; ?>++++' + s.value; return false;" > 

おかげ

+0

input.length JavaScriptのではなく、PHPでそれをすべて行います。 PHPはサーバーサイドです。 – webbiedave

+0

Phpjs.orgは、PHP関数に相当するJavaScriptを提供します。 Ucwordsはhttp://phpjs.org/functions/ucwords:569にあります。 –

+1

少し明確になりますが、あなたはフォーム要素の中にPHPを埋め込む方法を知っており、 ucwordsとstrtolowerを組み合わせたもの。だから、あなたは何を求めているのですか? phpが実行された後に 's.value'が作成/取得された場合、JS変数をフォーマットするためにPHPを使用しようとしているようです。その場合は、JSソリューションが必要になります。しかし、これが当てはまるかどうかはわかりません。私が言ったように、あなたはより明確にする必要があります。 –

答えて

20
<script type="text/javascript"> 

function ucwords (str) { 
    return (str + '').replace(/^([a-z])|\s+([a-z])/g, function ($1) { 
     return $1.toUpperCase(); 
    }); 
} 

function strtolower (str) { 
    return (str+'').toLowerCase(); 
} 

</script> 

<form role="search" method="get" id="searchform" action="http://chusmix.com/?s=" onsubmit="if (document.getElementById('s2').value.length > 5) window.location = action + '<?php echo $city; ?>++++' + ucwords(strtolower(s.value)); return false;" > 

JavaScriptの関数は、テキストボックス内のテキストを編集している間、あなたがそれをしたいなら、私はあなたがどうなるのかわからないが、あなたはそれを小文字にしたいならば、彼らAFTER大文字PHP.JS

+0

ありがとう、私は最後の部分だけを必要としましたが、 – lisovaccaro

0

$out = ucwords(strtolower($_GET['s.value'])); 

s.valueは、入力された名前である場合は、

+1

私はピリオドがフォームフィールド名の下線に変換されたと考えましたか? – dqhendricks

+0

彼らは、私は決してフォーム名にピリオドを使用していないかもしれませんが、彼は "s.value"を望んでいると言いました。あなたはその1つに当てはまるかもしれません – Colum

1
+ <?php echo ucwords(strtolower($s_value)); ?>; 
を渡したいです
0

からです単純なフォームを送信してください。

ucwords(strtolowerは($ _ GET [ 'フォームID']))

3

Javascriptの文字列は2つの機能があります:toLowerCaseメソッド()およびtoUpperCaseのを、あなたは私のように、あなたがかもしれ

function toInitCap(input) 
{ 
input = input || ""; 
return input.substring(0,1).toUpperCase() + input.substring(1,str.length).toLowerCase(); 
} 

toInitCap(s.value) 
2

でそれらを使用することができます1行にこれを行い何かをしたい、私が使用:

"your strING".toLowerCase().replace(/(?:(^.{1})|\ [a-z]{1})/g, function(a){return a.toUpperCase();}) 

戻りYour String

+1

私は、認めているように短いとは限りません。 –

0

str.length =>

function toInitCap(input) 
{ 
input = input || ""; 
return input.substring(0,1).toUpperCase() + input.substring(1,input.length).toLowerCase(); 
} 

toInitCap(s.value) 
関連する問題