2011-05-23 9 views
19

を開いていない、動作しません別のJS関数で設定され、正しい値を含んでいます。どうすればwindow.locationは私のページを開きませんか?window.locationのは()私はのonClickとsubmitボタンを持っているページ

私は手動でそれが正常に動作しMAILIDでそれを開くと...

+0

なぜlocation.hrefを設定し、場所を関数として呼び出していますか? – Nathan

+0

私は理解できませんか? –

+0

'window.location = 'http://stackoverflow.com/'はありません。 – Marty

答えて

49

場所の設定はうまくいきますが、フォームが送信され、代わりに現在のページがリロードされます。

メソッドからfalseを返す:

function sendmail() { 
    window.location.href = "http://www.rainbowcode.net/index.php/profiles/mail?="+mailid; 
    return false; 
} 

と提出を停止する場合に、その状態を返す:すでに

<input type="submit" value="Send" onclick="return sendmail()"> 
+1

ありがとう! return trueとreturn falseの違いは何ですか? –

+1

@Helloise Smit:falseを返すと、イベントのデフォルトアクション、つまりボタンをクリックすることが停止します。真(または何もない)を返すと、フォームを送信するクリックが許可されます。 – Guffa

+0

ありがとう..ありがとうございました..もう1つの事だけは大丈夫です:私は、ユーザーがメッセージに入力して、私のwindow.location.hrefを呼び出す提出をクリックすることができます提出とtextareaを持って...どのように私は渡すことができます新しいウィンドウへのメッセージには?私のフォームは "post"で、textareaのidは "message"ですか?ありがとうございます –

3

新しいウィンドウを開くために必要がある場合は、window.open()メソッドを使用する必要があります。 window.locationは、現在のウィンドウのアドレスを参照し、window.location.reload()を使用している場合にのみ、CURRENTウィンドウをリロードします。

+0

ありがとうwindow.open作品、それは新しいウィンドウが開きますが、私はバック矢印をクリックして、前のページに戻ることができるようにしたい –

0

をソリッド答えをなぜシステムを戦いますか?特に、あなたはjqueryのかonClickと呼ばれてきた場合 - インラインリターンがあるではないかもしれませんが、私のポイントです - ので、代わりにあなただけのsubmit上のアクションを変更できます。

document.form.action = 'http://www.rainbowcode.net/index.php'

あなたはのいずれかを選ぶことができます必要な場合はフォーム変数を、そうでない場合は無視します。

関連する問題