1

私は次のようなフォームを持っています:

<form id='Contact' action="<?php echo $_SERVER['PHP_SELF']; ?>" method='post' enctype="multipart/form-data" accept-charset='UTF-8' style='background-color:#7FFF00; width: 781px'>

その形で、私は15のフィールドを持っています。フォームの送信に必要なのは、最初の3つの「FirstName」、「Title」、「LastName」だけです。

フォームには3つのボタンがあります。1つは削除、作成、および変更用です。

[作成]をクリックすると、3つのフィールドを検証してから、フォームを送信する必要があります。[削除]をクリックすると、特定の1つのフィールドを検証してから送信するだけで済みます。

Javascript:

<script type="text/javascript">
<!--
function validateForm(Form, FieldName)
{
    var Form = document.getElementById(Form);
    var Elements = Form.elements;
    var Field = Elements[FieldName].value;

    if (Field == null || Field == "")
    {
        alert(FieldName + " must be filled out!");
        return false;
    }
    return true;
}

function SubmitForm(Form, DoSubmit)
{
    if (DoSubmit)
    {
        document.getElementById(Form).submit();
    }
}
-->
</script>

私のCreateButton:

<input type='button' name='ContactInfo' value='Create' onClick="SubmitForm('Contact', validateForm('Contact', 'Title') && validateForm('Contact', 'FirstName') && validateForm('Contact', 'LastName'));" />

私の削除ボタン:

<input type='submit' name='ContactInfo' value='Delete' />

作成ボタンが機能しないのはなぜですか?必須フィールドを検証しますが、送信/投稿しません:S

4

2 に答える 2

1
try the following.


<input type='submit' name='ContactInfo' value='Create' onClick="SubmitForm('Contact', validateForm('Contact', 'Title') && validateForm('Contact', 'FirstName') && validateForm('Contact', 'LastName'));return false;" />

送信するタイプを変更し、最後にfalseを返します。

または、これをフォーム要素に追加します。

onsubmit="return validateForm(this);"

そして、削除などのテストを行います。this.value==="Delete"などの場合...

于 2013-02-25T21:51:53.957 に答える
0

document.getElementById(Form)フォームのIDが「連絡先」の場合にあります。したがって、これをに変更しdocument.getElementById("Contact")ます。

于 2013-02-25T21:53:50.900 に答える